diff --git a/scenes/enemy_chicken.gd b/scenes/enemy_chicken.gd index 641c9d1..9d03b10 100644 --- a/scenes/enemy_chicken.gd +++ b/scenes/enemy_chicken.gd @@ -46,12 +46,11 @@ func _process(delta): func explode(): if exploding: return exploding = true - print_debug("Enemy explode!") EventBus.enemy_hit.emit(5) speed = 0 - #$AnimationPlayer.play("explode") + $AnimationPlayer.play("explode") #set_deferred("monitoring", false) - #await $AnimationPlayer.animation_finished + await $AnimationPlayer.animation_finished queue_free() EventBus.enemy_died.emit() diff --git a/scenes/enemy_chicken.tscn b/scenes/enemy_chicken.tscn index dea1412..77ff8c2 100644 --- a/scenes/enemy_chicken.tscn +++ b/scenes/enemy_chicken.tscn @@ -2,9 +2,10 @@ [ext_resource type="Script" uid="uid://i0r17jo6838m" path="res://scenes/enemy_chicken.gd" id="1_s7c3p"] [ext_resource type="Texture2D" uid="uid://cy4jggxmnohbb" path="res://sprites/chicken.png" id="2_h1rgn"] +[ext_resource type="Texture2D" uid="uid://bm7fgqwqfqmf4" path="res://sprites/explosion_pallete-swap.png" id="3_s7c3p"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_4gyqm"] -size = Vector2(21, 23) +size = Vector2(28.57145, 28.571442) [sub_resource type="Animation" id="Animation_h1rgn"] length = 0.001 @@ -20,6 +21,118 @@ tracks/0/keys = { "update": 1, "values": [0] } +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:texture") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_h1rgn")] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:hframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [3] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:region_rect") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Rect2(0, 0, 84, 32)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationPlayer:speed_scale") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} + +[sub_resource type="Animation" id="Animation_7ellt"] +resource_name = "explode" +step = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("3_s7c3p")] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6, 0.8), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:hframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [5] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:region_rect") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Rect2(0, 0, 80, 16)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AnimationPlayer:speed_scale") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.5] +} [sub_resource type="Animation" id="Animation_s7c3p"] resource_name = "flap" @@ -37,10 +150,47 @@ tracks/0/keys = { "update": 1, "values": [0, 1, 2] } +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:texture") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [ExtResource("2_h1rgn")] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:hframes") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [3] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:region_rect") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Rect2(0, 0, 84, 32)] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_7ellt"] _data = { &"RESET": SubResource("Animation_h1rgn"), +&"explode": SubResource("Animation_7ellt"), &"flap": SubResource("Animation_s7c3p") } @@ -49,13 +199,15 @@ scale = Vector2(0.7, 0.7) script = ExtResource("1_s7c3p") [node name="Sprite2D" type="Sprite2D" parent="." unique_id=2115910138] +scale = Vector2(1.44, 1.44) texture = ExtResource("2_h1rgn") hframes = 3 region_enabled = true region_rect = Rect2(0, 0, 84, 32) [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1841693239] -scale = Vector2(1.5384617, 1.5384617) +position = Vector2(4.257474e-07, 1.702989e-07) +scale = Vector2(0.99999917, 0.99999917) shape = SubResource("RectangleShape2D_4gyqm") [node name="MoveTimer" type="Timer" parent="." unique_id=1928257014] diff --git a/scenes/goose.gd b/scenes/goose.gd index d591948..3d51ad5 100644 --- a/scenes/goose.gd +++ b/scenes/goose.gd @@ -12,13 +12,13 @@ func _on_goose_talk(frame_index: int): if goose_talking == false: print("QUACK") - #goose_talking = true self.show() $DapperGoose/Bubble.set_frame(frame_index) var tween = create_tween() tween.tween_property(self, "position:x", position.x - 50, .5).set_ease(tween.EASE_OUT) await tween.finished $DapperGoose/Bubble.show() + goose_talking = true $DapperGoose/Quacking.start() await $DapperGoose/Quacking.timeout $DapperGoose/Bubble.hide() @@ -35,11 +35,8 @@ func _on_goose_talk(frame_index: int): $DapperGoose/Quacking.start() await $DapperGoose/Quacking.timeout $DapperGoose/Bubble.hide() - goose_talking = false tween = create_tween() tween.tween_property(self, "position:x", position.x + 50, .5).set_ease(tween.EASE_IN) await tween.finished - self.hide() - - - + goose_talking = false + self.hide() diff --git a/scenes/parallax_starfield.tscn b/scenes/parallax_starfield.tscn index 108c1aa..fda2ea7 100644 --- a/scenes/parallax_starfield.tscn +++ b/scenes/parallax_starfield.tscn @@ -8,7 +8,7 @@ z_index = -100 [node name="Foreground" type="Parallax2D" parent="." unique_id=1810383542] self_modulate = Color(0.09185078, 0.09185078, 0.09185078, 1) z_index = 5 -scroll_scale = Vector2(-1, 1) +scroll_scale = Vector2(1, 2.5) scroll_offset = Vector2(-88, -1) repeat_size = Vector2(0, 64) autoscroll = Vector2(0, 12) @@ -33,7 +33,7 @@ region_rect = Rect2(0, 0, 64, 64) [node name="Midground A" type="Parallax2D" parent="." unique_id=808073040] z_index = 4 -scroll_scale = Vector2(-1, 1) +scroll_scale = Vector2(-1, 1.75) scroll_offset = Vector2(-87, -1) repeat_size = Vector2(0, 64) autoscroll = Vector2(0, 6) @@ -82,10 +82,10 @@ frame = 1 region_rect = Rect2(0, 0, 64, 64) [node name="Background Nothing" type="Parallax2D" parent="." unique_id=603653601] -scroll_scale = Vector2(1.5, 1) +scroll_scale = Vector2(1.5, -2) scroll_offset = Vector2(-89, -27) repeat_size = Vector2(0, 32) -autoscroll = Vector2(0, 3) +autoscroll = Vector2(0, 1.5) repeat_times = 11 [node name="Sprite2D" type="Sprite2D" parent="Background Nothing" unique_id=2117909699] diff --git a/scenes/player.tscn b/scenes/player.tscn index e70f0f0..e6df011 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -9,6 +9,7 @@ [ext_resource type="Texture2D" uid="uid://cjv3xbuj65pav" path="res://_graphics/Mini Pixel Pack 3/Player ship/Boosters_right (16 x 16).png" id="5_b26j0"] [ext_resource type="PackedScene" uid="uid://4jvu41vu2557" path="res://scenes/explosion.tscn" id="8_dw050"] [ext_resource type="Texture2D" uid="uid://bnc77g20gb20h" path="res://sprites/david-head.png" id="8_ur7pv"] +[ext_resource type="Texture2D" uid="uid://bm7fgqwqfqmf4" path="res://sprites/explosion_pallete-swap.png" id="10_d2wvv"] [ext_resource type="AudioStream" uid="uid://d3ejo2dfxblsx" path="res://sounds/HeadInflatePOP.wav" id="10_y4r1p"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_b26j0"] @@ -135,7 +136,9 @@ shape = SubResource("RectangleShape2D_op7ga") one_shot = true [node name="Explosion" parent="." unique_id=321630316 instance=ExtResource("8_dw050")] -visible = false +texture = ExtResource("10_d2wvv") +region_enabled = true +region_rect = Rect2(0, 0, 96, 16) [node name="HeadInflate" type="AudioStreamPlayer2D" parent="." unique_id=374500278] stream = ExtResource("10_y4r1p") diff --git a/sprites/explode.res b/sprites/explode.res new file mode 100644 index 0000000..e9ba4a7 Binary files /dev/null and b/sprites/explode.res differ diff --git a/sprites/explosion_pallete-swap.png b/sprites/explosion_pallete-swap.png new file mode 100644 index 0000000..c25c3df Binary files /dev/null and b/sprites/explosion_pallete-swap.png differ diff --git a/sprites/explosion_pallete-swap.png.import b/sprites/explosion_pallete-swap.png.import new file mode 100644 index 0000000..5479cdc --- /dev/null +++ b/sprites/explosion_pallete-swap.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bm7fgqwqfqmf4" +path="res://.godot/imported/explosion_pallete-swap.png-07dc02f3238c83fc8bbae592b7a3f8c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/explosion_pallete-swap.png" +dest_files=["res://.godot/imported/explosion_pallete-swap.png-07dc02f3238c83fc8bbae592b7a3f8c2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1