diff --git a/hit_box.gd b/hit_box.gd deleted file mode 100644 index 72d9b42..0000000 --- a/hit_box.gd +++ /dev/null @@ -1,9 +0,0 @@ -extends Area2D - -@onready var hit_sound: AudioStreamPlayer2D = $HitSound -signal killed() - -func _on_body_entered(_body: Node2D) -> void: - hit_sound.play() - killed.emit() - diff --git a/hit_box.gd.uid b/hit_box.gd.uid deleted file mode 100644 index a8998b9..0000000 --- a/hit_box.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b3mc3t5k3yr7y diff --git a/scenes/game.tscn b/scenes/game.tscn index a893770..d3d1ea9 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -376,7 +376,7 @@ tile_set = SubResource("TileSet_p57ef") [node name="Mid" type="TileMapLayer" parent="."] use_parent_material = true position = Vector2(1, 0) -tile_map_data = PackedByteArray("AAABAAQAAAAAAAAAAAACAAQAAAAAAAAAAAABAAUAAAAAAAEAAAACAAYAAAAAAAEAAAACAAUAAAAAAAEAAAAEAAcAAAAGAAEAAAADAAcAAAAGAAEAAAAKAAcAAAAGAAEAAAAJAAcAAAAGAAEAAAANAAcAAAAGAAEAAAD//wYAAAAAAAAAAAAAAAYAAAAAAAAAAAADAAYAAAAGAAAAAAAFAAYAAAAGAAAAAAD//wcAAAAAAAEAAAAAAAcAAAAAAAEAAAABAAcAAAAAAAEAAAAAAAgAAAAAAAEAAAABAAgAAAAAAAEAAAACAAgAAAAAAAEAAAADAAgAAAAGAAEAAAAFAAgAAAAGAAEAAAAJAAgAAAAGAAEAAAAKAAgAAAAGAAEAAAANAAgAAAAGAAEAAAAOAAgAAAAGAAEAAAAKAAYAAAAGAAAAAAAJAAYAAAAGAAAAAAAOAAYAAAAGAAAAAAAEAAEAAAAAAAEAAAAGAAEAAAAAAAEAAAAHAAIAAAAAAAEAAAAIAAIAAAAAAAEAAAALAAIAAAAAAAEAAAANAAIAAAAAAAEAAAAOAAIAAAAAAAEAAAANAAEAAAAAAAEAAAAMAAEAAAAAAAEAAAAFAAAAAAAAAAEAAAAGAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAFAP//AAAAAAAAAAAGAP//AAAAAAAAAAAHAAEAAAAAAAAAAAAIAAEAAAAAAAAAAAALAAEAAAAAAAAAAAAMAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAGAAYAAAAJAAAAAAAHAAYAAAAKAAAAAAAIAAYAAAALAAAAAAAPAAIAAAAEAAAAAAAQAAIAAAAEAAAAAAARAAIAAAAEAAAAAAAPAAMAAAAEAAEAAAAQAAMAAAAEAAEAAAARAAMAAAAEAAEAAAARAAQAAAAEAAEAAAASAAUAAAAEAAEAAAATAAUAAAAEAAEAAAAUAAUAAAAEAAEAAAAUAAYAAAAEAAEAAAAUAAgAAAAEAAEAAAASAAMAAAAFAAAAAAATAAQAAAAFAAEAAAASAAQAAAAEAAEAAAAUAAQAAAAEAAAAAAAVAAQAAAAEAAAAAAAUAAcAAAAEAAEAAAAVAAUAAAAEAAEAAAAVAAgAAAAEAAEAAAAVAAYAAAAEAAEAAAAMAAIAAAABAAAAAAAFAAEAAAABAAEA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") +tile_map_data = PackedByteArray("AAABAAQAAAAAAAAAAAACAAQAAAAAAAAAAAABAAUAAAAAAAEAAAACAAYAAAAAAAEAAAACAAUAAAAAAAEAAAAEAAcAAAAGAAEAAAADAAcAAAAGAAEAAAAKAAcAAAAGAAEAAAAJAAcAAAAGAAEAAAANAAcAAAAGAAEAAAD//wYAAAAAAAAAAAAAAAYAAAAAAAAAAAADAAYAAAAGAAAAAAAFAAYAAAAGAAAAAAD//wcAAAAAAAEAAAAAAAcAAAAAAAEAAAABAAcAAAAAAAEAAAAAAAgAAAAAAAEAAAABAAgAAAAAAAEAAAACAAgAAAAAAAEAAAADAAgAAAAGAAEAAAAFAAgAAAAGAAEAAAAJAAgAAAAGAAEAAAAKAAgAAAAGAAEAAAANAAgAAAAGAAEAAAAOAAgAAAAGAAEAAAAJAAYAAAAGAAAAAAAOAAYAAAAGAAAAAAAEAAEAAAAAAAEAAAAGAAEAAAAAAAEAAAAHAAIAAAAAAAEAAAAIAAIAAAAAAAEAAAALAAIAAAAAAAEAAAANAAIAAAAAAAEAAAAOAAIAAAAAAAEAAAANAAEAAAAAAAEAAAAMAAEAAAAAAAEAAAAFAAAAAAAAAAEAAAAGAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAFAP//AAAAAAAAAAAGAP//AAAAAAAAAAAHAAEAAAAAAAAAAAAIAAEAAAAAAAAAAAALAAEAAAAAAAAAAAAMAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAGAAYAAAAJAAAAAAAHAAYAAAAKAAAAAAAIAAYAAAALAAAAAAAPAAIAAAAEAAAAAAAQAAIAAAAEAAAAAAARAAIAAAAEAAAAAAAPAAMAAAAEAAEAAAAQAAMAAAAEAAEAAAARAAMAAAAEAAEAAAARAAQAAAAEAAEAAAASAAUAAAAEAAEAAAATAAUAAAAEAAEAAAAUAAUAAAAEAAEAAAAUAAYAAAAEAAEAAAAUAAgAAAAEAAEAAAASAAMAAAAFAAAAAAATAAQAAAAFAAEAAAASAAQAAAAEAAEAAAAUAAQAAAAEAAAAAAAVAAQAAAAEAAAAAAAUAAcAAAAEAAEAAAAVAAUAAAAEAAEAAAAVAAgAAAAEAAEAAAAVAAYAAAAEAAEAAAAMAAIAAAABAAAAAAAFAAEAAAABAAEAAAACAAcAAAABAAEA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") tile_set = SubResource("TileSet_lbhrr") [node name="Player" parent="." instance=ExtResource("1_uwrxv")] @@ -501,3 +501,9 @@ position = Vector2(569, 97) [node name="Slime2" parent="Enemies" instance=ExtResource("6_p57ef")] position = Vector2(633, 97) + +[node name="Slime3" parent="Enemies" instance=ExtResource("6_p57ef")] +position = Vector2(59, 96) + +[node name="Slime4" parent="Enemies" instance=ExtResource("6_p57ef")] +position = Vector2(138, 17) diff --git a/scenes/hit_box.tscn b/scenes/hit_box.tscn index b37e86f..067e3d8 100644 --- a/scenes/hit_box.tscn +++ b/scenes/hit_box.tscn @@ -1,14 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://bmv6eq8rt7fsb"] +[gd_scene load_steps=2 format=3 uid="uid://jnqii6cg0cy"] -[ext_resource type="Script" uid="uid://b3mc3t5k3yr7y" path="res://hit_box.gd" id="1_o631b"] -[ext_resource type="AudioStream" uid="uid://bhayvfhydadqy" path="res://assets/sounds/tap.wav" id="2_d7xod"] +[ext_resource type="Script" uid="uid://bdxihdbuhwdbr" path="res://scripts/hit_box.gd" id="1_o631b"] [node name="HitBox" type="Area2D"] -collision_mask = 2 script = ExtResource("1_o631b") -[node name="HitSound" type="AudioStreamPlayer2D" parent="."] -stream = ExtResource("2_d7xod") -bus = &"SFX" - [connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/scenes/slime.tscn b/scenes/slime.tscn index 97f46d7..3d543aa 100644 --- a/scenes/slime.tscn +++ b/scenes/slime.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=15 format=3 uid="uid://bvw0afyajdmht"] +[gd_scene load_steps=20 format=3 uid="uid://bvw0afyajdmht"] [ext_resource type="Script" uid="uid://cxpc8xcf3r6rg" path="res://scripts/slime.gd" id="1_n6pvg"] [ext_resource type="Texture2D" uid="uid://do7enjpf3pftb" path="res://assets/sprites/slime_green.png" id="1_p2gj0"] [ext_resource type="PackedScene" uid="uid://dpox5fa2pojpo" path="res://scenes/killzone.tscn" id="2_n6pvg"] -[ext_resource type="PackedScene" uid="uid://bmv6eq8rt7fsb" path="res://scenes/hit_box.tscn" id="4_pjw23"] +[ext_resource type="PackedScene" uid="uid://jnqii6cg0cy" path="res://scenes/hit_box.tscn" id="4_pjw23"] +[ext_resource type="AudioStream" uid="uid://bhayvfhydadqy" path="res://assets/sounds/tap.wav" id="5_2npkn"] [sub_resource type="CircleShape2D" id="CircleShape2D_pjw23"] radius = 5.0 @@ -24,6 +25,22 @@ region = Rect2(48, 24, 24, 24) atlas = ExtResource("1_p2gj0") region = Rect2(72, 24, 24, 24) +[sub_resource type="AtlasTexture" id="AtlasTexture_v5wyi"] +atlas = ExtResource("1_p2gj0") +region = Rect2(72, 0, 24, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0l8pv"] +atlas = ExtResource("1_p2gj0") +region = Rect2(48, 0, 24, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vnioy"] +atlas = ExtResource("1_p2gj0") +region = Rect2(24, 0, 24, 24) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2xjuo"] +atlas = ExtResource("1_p2gj0") +region = Rect2(0, 0, 24, 24) + [sub_resource type="SpriteFrames" id="SpriteFrames_v5wyi"] animations = [{ "frames": [{ @@ -42,19 +59,193 @@ animations = [{ "loop": true, "name": &"default", "speed": 7.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_v5wyi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0l8pv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vnioy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2xjuo") +}], +"loop": true, +"name": &"die", +"speed": 10.0 }] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_0l8pv"] -size = Vector2(10, 9) - -[sub_resource type="RectangleShape2D" id="RectangleShape2D_2npkn"] -size = Vector2(8, 3) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_pjw23"] +size = Vector2(10, 2) [sub_resource type="Animation" id="Animation_pjw23"] resource_name = "die" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CollisionShape2D:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sounds/Death:playing") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("RayCastRight:enabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("RayCastLeft:enabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Killzone/CollisionPolygon2D:disabled") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("AnimatedSprite2D:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1.134464, -0.083333336, -0.18907735, 0, 0), +"times": PackedFloat32Array(0, 0.26666668) +} +tracks/6/type = "method" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath(".") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(1), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"queue_free" +}] +} + +[sub_resource type="Animation" id="Animation_2npkn"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CollisionShape2D:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sounds/Death:playing") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("RayCastRight:enabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("RayCastLeft:enabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Killzone/CollisionPolygon2D:disabled") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("AnimatedSprite2D:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_2npkn"] _data = { +&"RESET": SubResource("Animation_2npkn"), &"die": SubResource("Animation_pjw23") } @@ -68,22 +259,27 @@ position = Vector2(0, -6) shape = SubResource("CircleShape2D_pjw23") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] -position = Vector2(0, -12) +position = Vector2(0, -8.755) sprite_frames = SubResource("SpriteFrames_v5wyi") +animation = &"die" autoplay = "default" -frame_progress = 0.45857617 +offset = Vector2(0, -3.285) + +[node name="HitBox" parent="." node_paths=PackedStringArray("animation_player", "animated_sprite") instance=ExtResource("4_pjw23")] +collision_mask = 2 +animation_player = NodePath("../AnimationPlayer") +animation_name = "die" +animated_sprite = NodePath("../AnimatedSprite2D") +animated_sprite_name = "die" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="HitBox"] +position = Vector2(0, -11) +shape = SubResource("RectangleShape2D_pjw23") [node name="Killzone" parent="." instance=ExtResource("2_n6pvg")] -[node name="CollisionShape2D" type="CollisionShape2D" parent="Killzone"] -position = Vector2(0, -4.5) -shape = SubResource("RectangleShape2D_0l8pv") - -[node name="HitBox" parent="." instance=ExtResource("4_pjw23")] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="HitBox"] -position = Vector2(0, -11.5) -shape = SubResource("RectangleShape2D_2npkn") +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Killzone"] +polygon = PackedVector2Array(-7, 0, 7, 0, 7, -4, 5, -9, -5, -9, -7, -4) [node name="RayCastRight" type="RayCast2D" parent="."] position = Vector2(0, -6) @@ -98,4 +294,8 @@ libraries = { &"": SubResource("AnimationLibrary_2npkn") } -[connection signal="killed" from="HitBox" to="." method="_on_hit_box_killed"] +[node name="Sounds" type="Node" parent="."] + +[node name="Death" type="AudioStreamPlayer2D" parent="Sounds"] +stream = ExtResource("5_2npkn") +bus = &"SFX" diff --git a/scripts/hit_box.gd b/scripts/hit_box.gd new file mode 100644 index 0000000..08338d5 --- /dev/null +++ b/scripts/hit_box.gd @@ -0,0 +1,11 @@ +extends Area2D + +@export var animation_player: AnimationPlayer +@export var animation_name: String + +@export var animated_sprite: AnimatedSprite2D +@export var animated_sprite_name: String + +func _on_body_entered(_body: Node2D) -> void: + animated_sprite.play(animated_sprite_name) + animation_player.play(animation_name) diff --git a/scripts/hit_box.gd.uid b/scripts/hit_box.gd.uid new file mode 100644 index 0000000..0027906 --- /dev/null +++ b/scripts/hit_box.gd.uid @@ -0,0 +1 @@ +uid://bdxihdbuhwdbr diff --git a/scripts/slime.gd b/scripts/slime.gd index 90e85ba..ffacc67 100644 --- a/scripts/slime.gd +++ b/scripts/slime.gd @@ -25,7 +25,3 @@ func _physics_process(delta: float) -> void: position.x += direction * speed * delta move_and_slide() - - -func _on_hit_box_killed() -> void: - queue_free()