diff --git a/assets/minigames/frog/graphics/frog.png b/assets/minigames/frog/graphics/frog.png deleted file mode 100644 index 234277be..00000000 Binary files a/assets/minigames/frog/graphics/frog.png and /dev/null differ diff --git a/assets/minigames/frog/graphics/frog_spritesheet.png b/assets/minigames/frog/graphics/frog_spritesheet.png new file mode 100644 index 00000000..689c00c5 Binary files /dev/null and b/assets/minigames/frog/graphics/frog_spritesheet.png differ diff --git a/assets/minigames/frog/graphics/frog.png.import b/assets/minigames/frog/graphics/frog_spritesheet.png.import similarity index 71% rename from assets/minigames/frog/graphics/frog.png.import rename to assets/minigames/frog/graphics/frog_spritesheet.png.import index 23d0684f..cf84a65b 100644 --- a/assets/minigames/frog/graphics/frog.png.import +++ b/assets/minigames/frog/graphics/frog_spritesheet.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://begtyjietpcyo" -path="res://.godot/imported/frog.png-233dcccc92c3b1c611039cc4f27e35aa.ctex" +uid="uid://bmrp8ybx5iqgu" +path="res://.godot/imported/frog_spritesheet.png-76c0a7d8c426412ed0eb71ab671bbaeb.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/minigames/frog/graphics/frog.png" -dest_files=["res://.godot/imported/frog.png-233dcccc92c3b1c611039cc4f27e35aa.ctex"] +source_file="res://assets/minigames/frog/graphics/frog_spritesheet.png" +dest_files=["res://.godot/imported/frog_spritesheet.png-76c0a7d8c426412ed0eb71ab671bbaeb.ctex"] [params] diff --git a/sources/minigames/frog/frog.gd b/sources/minigames/frog/frog.gd index 568c3a54..23d7d66a 100644 --- a/sources/minigames/frog/frog.gd +++ b/sources/minigames/frog/frog.gd @@ -19,6 +19,11 @@ const FROG_SOUNDS: Array[AudioStreamMP3] = [ preload("res://assets/minigames/frog/audio/frog_random_05.mp3"), ] +var blink_counter: int = 0 +var blink_delay: int = 3 +var blink_random: int = 3 + +@onready var animated_sprite: AnimatedSprite2D = $AnimatedSprite2D @onready var animation_player: AnimationPlayer = $AnimationPlayer @onready var audio_player: AudioStreamPlayer2D = $AudioStreamPlayer2D @onready var sprite: Sprite2D = $Sprite @@ -26,7 +31,6 @@ const FROG_SOUNDS: Array[AudioStreamMP3] = [ func jump_to(destination: Vector2) -> void: animation_player.play("jump") - var tween: Tween = create_tween() tween.tween_property(self, "global_position", destination, animation_player.get_animation("jump").length) @@ -47,30 +51,44 @@ func _play_frog_sound() -> void: audio_player.play() -func _on_animation_player_animation_finished(animation_name: StringName) -> void: - if animation_name == "drown": - drowned.emit() - - if animation_name == "jump": - animation_player.play("idle_side_1") - jumped.emit() - - if animation_name == "idle_front_1": - var rand: float = randf() - if rand <= 0.5: - animation_player.play("idle_front_1") - else: - animation_player.play("idle_front_2") - - if animation_name == "idle_front_2": - animation_player.play("idle_front_1") - - if animation_name == "idle_side_1": - var rand: float = randf() - if rand <= 0.5: - animation_player.play("idle_side_1") - else: - animation_player.play("idle_side_2") - - if animation_name == "idle_side_2": - animation_player.play("idle_side_1") +func _on_animated_sprite_2d_animation_finished() -> void: + match animated_sprite.animation: + "idle_front": + blink_counter -= 1 + if blink_counter <= 0: + blink_counter = blink_delay + randi_range(0, blink_random) + animated_sprite.play("idle_front_blink") + else: + animated_sprite.play("idle_front") + "idle_front_blink": + animated_sprite.play("idle_front") + "idle_side": + blink_counter -= 1 + if blink_counter <= 0: + blink_counter = blink_delay + randi_range(0, blink_random) + animated_sprite.play("idle_side_blink") + else: + animated_sprite.play("idle_side") + "idle_side_blink": + animated_sprite.play("idle_side") + "drown": + drowned.emit() + "jump": + animated_sprite.play("idle_front") + jumped.emit() + #"idle_front_1": + #var rand: float = randf() + #if rand <= 0.5: + #animation_player.play("idle_front_1") + #else: + #animation_player.play("idle_front_2") + #"idle_front_2": + #animation_player.play("idle_front_1") + #"idle_side_1": + #var rand: float = randf() + #if rand <= 0.5: + #animation_player.play("idle_side_1") + #else: + #animation_player.play("idle_side_2") + #"idle_side_2": + #animation_player.play("idle_side_1") diff --git a/sources/minigames/frog/frog.tscn b/sources/minigames/frog/frog.tscn index ba552668..59dbc7fb 100644 --- a/sources/minigames/frog/frog.tscn +++ b/sources/minigames/frog/frog.tscn @@ -1,266 +1,17 @@ -[gd_scene load_steps=12 format=3 uid="uid://bloyucpsbvpx8"] +[gd_scene load_steps=3 format=3 uid="uid://bloyucpsbvpx8"] [ext_resource type="Script" uid="uid://b3cplysxudipp" path="res://sources/minigames/frog/frog.gd" id="1_68f6f"] -[ext_resource type="Texture2D" uid="uid://begtyjietpcyo" path="res://assets/minigames/frog/graphics/frog.png" id="1_c6opx"] -[ext_resource type="Material" uid="uid://cj241oskmxqgv" path="res://sources/minigames/frog/frog_material.tres" id="2_i6km5"] - -[sub_resource type="Animation" id="Animation_42msv"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0] -} - -[sub_resource type="Animation" id="Animation_5od11"] -resource_name = "drown" -length = 0.5 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.5), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0.0, 1.0] -} - -[sub_resource type="Animation" id="Animation_mtfxt"] -resource_name = "idle_front_1" -length = 0.6 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), -"update": 1, -"values": [0, 1, 2, 3, 4, 5] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} - -[sub_resource type="Animation" id="Animation_yri2x"] -resource_name = "idle_front_2" -length = 0.6 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), -"update": 1, -"values": [12, 13, 14, 15, 16, 17] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/2/type = "method" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"_play_frog_sound" -}] -} - -[sub_resource type="Animation" id="Animation_0dpgo"] -resource_name = "idle_side_1" -length = 0.6 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), -"update": 1, -"values": [24, 25, 26, 27, 28, 29] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} - -[sub_resource type="Animation" id="Animation_pmell"] -resource_name = "idle_side_2" -length = 0.6 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), -"update": 1, -"values": [36, 37, 38, 39, 40, 41] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/2/type = "method" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"_play_frog_sound" -}] -} - -[sub_resource type="Animation" id="Animation_ir23o"] -resource_name = "jump" -length = 0.6 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), -"update": 1, -"values": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite:material:shader_parameter/dissolve_amount") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/2/type = "method" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath(".") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"_play_jump_sound" -}] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_at27w"] -_data = { -&"RESET": SubResource("Animation_42msv"), -&"drown": SubResource("Animation_5od11"), -&"idle_front_1": SubResource("Animation_mtfxt"), -&"idle_front_2": SubResource("Animation_yri2x"), -&"idle_side_1": SubResource("Animation_0dpgo"), -&"idle_side_2": SubResource("Animation_pmell"), -&"jump": SubResource("Animation_ir23o") -} +[ext_resource type="SpriteFrames" uid="uid://diasql7sh46kd" path="res://sources/minigames/frog/frog_animations.tres" id="4_2kxtk"] [node name="Frog" type="Control"] layout_mode = 3 anchors_preset = 0 script = ExtResource("1_68f6f") -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -"": SubResource("AnimationLibrary_at27w") -} -autoplay = "idle_front_1" - [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] bus = &"Effects" -[node name="Sprite" type="Sprite2D" parent="."] -material = ExtResource("2_i6km5") -scale = Vector2(1.5, 1.5) -texture = ExtResource("1_c6opx") -offset = Vector2(-18, -47) -hframes = 12 -vframes = 5 - -[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"] +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = ExtResource("4_2kxtk") +animation = &"success" +autoplay = "idle_front" diff --git a/sources/minigames/frog/frog_animations.tres b/sources/minigames/frog/frog_animations.tres new file mode 100644 index 00000000..578dada8 --- /dev/null +++ b/sources/minigames/frog/frog_animations.tres @@ -0,0 +1,555 @@ +[gd_resource type="SpriteFrames" load_steps=74 format=3 uid="uid://diasql7sh46kd"] + +[ext_resource type="Texture2D" uid="uid://bmrp8ybx5iqgu" path="res://assets/minigames/frog/graphics/frog_spritesheet.png" id="1_j8267"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_goeu6"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rnbyi"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iy4ns"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8b4md"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gjnet"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_arxd3"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_puuj1"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8ymwq"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 3840, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ekte"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gd35u"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1xefd"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1wiyv"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ye1rt"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hko3s"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hni7v"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p4crn"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 3360, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q3vap"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ntna2"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1ycr4"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yam8v"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nikqo"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_00rd0"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kkkla"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n3d01"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n61w4"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fwdd7"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 0, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j8267"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_de60q"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c3prk"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_67g6h"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4okw1"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0cq7c"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jqkp2"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1xvel"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 480, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_44pvv"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y11eo"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bpxd8"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7tkuh"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xbf5t"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8mk8d"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d4dnd"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7uavk"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 960, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0jo33"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a8ldw"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mit85"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8h5es"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_chnmn"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ybq3w"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kocxi"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ncg8x"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 1440, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e1hnd"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nb8cq"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_752lo"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b3f4b"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l4hne"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rpqkn"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6hyg4"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ggv5b"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 1920, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bjjfb"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8s3wv"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3xr7s"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wvxul"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d0vcv"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2d5l0"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 2400, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pqsgb"] +atlas = ExtResource("1_j8267") +region = Rect2(0, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7tbtf"] +atlas = ExtResource("1_j8267") +region = Rect2(410, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8nrn0"] +atlas = ExtResource("1_j8267") +region = Rect2(820, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8d7yn"] +atlas = ExtResource("1_j8267") +region = Rect2(1230, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2a1eu"] +atlas = ExtResource("1_j8267") +region = Rect2(1640, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2w27y"] +atlas = ExtResource("1_j8267") +region = Rect2(2050, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7pdaj"] +atlas = ExtResource("1_j8267") +region = Rect2(2460, 2880, 410, 480) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gcn2i"] +atlas = ExtResource("1_j8267") +region = Rect2(2870, 2880, 410, 480) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_goeu6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rnbyi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iy4ns") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8b4md") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gjnet") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_arxd3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_puuj1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8ymwq") +}], +"loop": true, +"name": &"appear", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ekte") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gd35u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1xefd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1wiyv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ye1rt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hko3s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hni7v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_p4crn") +}], +"loop": true, +"name": &"defeat", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_q3vap") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ntna2") +}], +"loop": true, +"name": &"flip", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_1ycr4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yam8v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nikqo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_00rd0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kkkla") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n3d01") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n61w4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fwdd7") +}], +"loop": true, +"name": &"idle_front", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_j8267") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_de60q") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c3prk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_67g6h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4okw1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0cq7c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jqkp2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1xvel") +}], +"loop": true, +"name": &"idle_front_blink", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_44pvv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y11eo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bpxd8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7tkuh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xbf5t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8mk8d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d4dnd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7uavk") +}], +"loop": true, +"name": &"idle_side", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_0jo33") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a8ldw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mit85") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8h5es") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_chnmn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ybq3w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kocxi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ncg8x") +}], +"loop": true, +"name": &"idle_side_blink", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_e1hnd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nb8cq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_752lo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b3f4b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l4hne") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rpqkn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6hyg4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ggv5b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bjjfb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8s3wv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3xr7s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wvxul") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d0vcv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2d5l0") +}], +"loop": true, +"name": &"jump", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_pqsgb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7tbtf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8nrn0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8d7yn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2a1eu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2w27y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7pdaj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gcn2i") +}], +"loop": true, +"name": &"success", +"speed": 5.0 +}]