Merge pull request #184 from Excello-Recherche-Education/penguin-new-graphisms

Penguin minigame new graphisms
This commit is contained in:
Adrien Ufferte
2026-01-14 14:44:36 +01:00
committed by GitHub
13 changed files with 326 additions and 466 deletions
+20 -22
View File
@@ -5,49 +5,47 @@ const SNOWBALL_SCENE: PackedScene = preload("res://sources/minigames/penguin/sno
var throw_position: Vector2
@onready var snowball_position: Marker2D = $Sprite2D/Snowball
@onready var animation_player: AnimationPlayer = $AnimationPlayer
@onready var snowball_start: Marker2D = $AnimatedSprite2D/Snowball_Start
@onready var audiostream_player: AudioStreamPlayer = $AudioStreamPlayer
@onready var animated_sprite: AnimatedSprite2D = $AnimatedSprite2D
func _create_snowball() -> void:
var snowball: Snowball = SNOWBALL_SCENE.instantiate()
snowball.position = snowball_position.global_position
snowball.target_position = throw_position - snowball_position.global_position
snowball.position = snowball_start.global_position
snowball.target_position = throw_position - snowball_start.global_position
audiostream_player.play()
get_parent().add_child(snowball)
#region Animations
func idle() -> void:
if randf() < 0.8:
animation_player.play("idle")
else:
animation_player.play("idle2")
animated_sprite.play("idle")
func happy() -> void:
animation_player.play("happy")
await animation_player.animation_finished
animated_sprite.play("happy")
await animated_sprite.animation_finished
animated_sprite.play("happy")
await animated_sprite.animation_finished
func sad() -> void:
animation_player.play("sad")
await animation_player.animation_finished
animated_sprite.play("sad")
await animated_sprite.animation_finished
animated_sprite.play("sad", -1.0)
await animated_sprite.animation_finished
func throw(pos: Vector2) -> void:
throw_position = pos
animation_player.play("throw")
await animation_player.animation_finished
animated_sprite.play("flip_right")
await animated_sprite.animation_finished
_create_snowball()
animated_sprite.play("throw")
await animated_sprite.animation_finished
animated_sprite.play("flip_left")
await animated_sprite.animation_finished
idle()
#endregion
#region Connections
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
if anim_name == "idle" or anim_name == "idle2":
idle()
#endregion
+10 -390
View File
@@ -1,404 +1,24 @@
[gd_scene load_steps=13 format=3 uid="uid://b78362g1yif2n"]
[gd_scene load_steps=4 format=3 uid="uid://b78362g1yif2n"]
[ext_resource type="Script" uid="uid://c25qilgxaqp1h" path="res://sources/minigames/penguin/penguin.gd" id="1_gyeou"]
[ext_resource type="Texture2D" uid="uid://4mr2idafmxcp" path="res://assets/minigames/penguin/graphic/penguin.png" id="2_18gp7"]
[ext_resource type="Texture2D" uid="uid://uc0g4jdjk61p" path="res://assets/minigames/penguin/graphic/snowball.png" id="3_whe7m"]
[ext_resource type="SpriteFrames" uid="uid://c4l27gbfqffia" path="res://sources/minigames/penguin/penguin_animations.tres" id="2_l6pmb"]
[ext_resource type="AudioStream" uid="uid://bha6my06g7p4b" path="res://assets/minigames/monkeys/audio/monkey_sendcoco.mp3" id="8_dqq5e"]
[sub_resource type="Animation" id="Animation_xysi2"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [9]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/Snowball:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(-64, 33)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D/Snowball/Sprite2D:z_index")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite2D/Snowball/Sprite2D:visible")
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("Sprite2D:frame_coords")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [Vector2i(0, 0)]
}
[sub_resource type="Animation" id="Animation_sqmdw"]
resource_name = "happy"
length = 0.6664
loop_mode = 1
step = 0.0833
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165, 0.4998, 0.5831),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [1, 2, 3, 4, 5, 6, 7, 8]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/Snowball:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165, 0.4998, 0.5831),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-69, 39), Vector2(-71, 35), Vector2(-75, 29), Vector2(-78, 22), Vector2(-82, 16), Vector2(-84, 16), Vector2(-81, 23), Vector2(-73, 33)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D/Snowball/Sprite2D:z_index")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite2D/Snowball/Sprite2D:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_gk3e3"]
resource_name = "idle"
length = 0.5
step = 0.0833
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [9, 10, 11, 12, 13, 14]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/Snowball:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-69, 39), Vector2(-69, 40), Vector2(-69, 41), Vector2(-69, 40), Vector2(-69, 39), Vector2(-69, 39)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D/Snowball/Sprite2D:visible")
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("Sprite2D/Snowball/Sprite2D:z_index")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_wdf0g"]
resource_name = "idle2"
length = 0.5
step = 0.0833
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 1,
"values": [15, 16, 17, 18, 19, 20]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/Snowball:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-69, 39), Vector2(-69, 40), Vector2(-69, 41), Vector2(-69, 41), Vector2(-69, 40), Vector2(-69, 39)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D/Snowball/Sprite2D:visible")
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("Sprite2D/Snowball/Sprite2D:z_index")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_yqm8m"]
resource_name = "sad"
length = 0.6664
loop_mode = 1
step = 0.0833
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165, 0.4998, 0.5831),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [21, 22, 23, 24, 25, 26, 27, 28]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/Snowball:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-69, 36), Vector2(-69, 35), Vector2(-69, 33), Vector2(-69, 32), Vector2(-69, 32.8), Vector2(-69, 33)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D/Snowball/Sprite2D:visible")
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("Sprite2D/Snowball/Sprite2D:z_index")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_rggbs"]
resource_name = "slide"
length = 0.2667
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame_coords")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0333, 0.0666, 0.0999, 0.1332, 0.1665, 0.1998, 0.2331),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [Vector2i(0, 0), Vector2i(9, 0), Vector2i(10, 0), Vector2i(29, 0), Vector2i(29, 0), Vector2i(30, 0), Vector2i(31, 0), Vector2i(0, 0)]
}
[sub_resource type="Animation" id="Animation_d68qa"]
resource_name = "throw"
step = 0.0833
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Sprite2D:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165, 0.4998, 0.5831, 0.6664, 0.7497, 0.833, 0.9163),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 38, 0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sprite2D/Snowball:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.0833, 0.1666, 0.2499, 0.3332, 0.4165, 0.4998, 0.5831, 0.6664, 0.7497, 0.833, 0.9163),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [Vector2(-51, 40), Vector2(64, 41), Vector2(83, 32), Vector2(103, 15), Vector2(104, 11), Vector2(84, -47), Vector2(29, -78), Vector2(48, -76), Vector2(80, -52), Vector2(94, -4), Vector2(94, -4), Vector2(18, 48)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sprite2D/Snowball/Sprite2D:z_index")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.0833),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [0, -1]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sprite2D/Snowball/Sprite2D:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.4998),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/4/type = "method"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.3332),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"_create_snowball"
}]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ykcap"]
_data = {
&"RESET": SubResource("Animation_xysi2"),
&"happy": SubResource("Animation_sqmdw"),
&"idle": SubResource("Animation_gk3e3"),
&"idle2": SubResource("Animation_wdf0g"),
&"sad": SubResource("Animation_yqm8m"),
&"slide": SubResource("Animation_rggbs"),
&"throw": SubResource("Animation_d68qa")
}
[node name="Penguin" type="Node2D"]
script = ExtResource("1_gyeou")
[node name="Sprite2D" type="Sprite2D" parent="."]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -174)
scale = Vector2(2, 2)
texture = ExtResource("2_18gp7")
hframes = 39
[node name="Snowball" type="Marker2D" parent="Sprite2D"]
position = Vector2(-64, 33)
[node name="Sprite2D" type="Sprite2D" parent="Sprite2D/Snowball"]
texture = ExtResource("3_whe7m")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_ykcap")
}
sprite_frames = ExtResource("2_l6pmb")
animation = &"happy"
autoplay = "idle"
frame = 9
frame_progress = 1.0
[node name="Snowball_Start" type="Marker2D" parent="AnimatedSprite2D"]
position = Vector2(132, -7.5)
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("8_dqq5e")
bus = &"Effects"
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"]
@@ -0,0 +1,288 @@
[gd_resource type="SpriteFrames" load_steps=38 format=3 uid="uid://c4l27gbfqffia"]
[ext_resource type="Texture2D" uid="uid://4mr2idafmxcp" path="res://assets/minigames/penguin/graphic/penguin.png" id="1_qjien"]
[sub_resource type="AtlasTexture" id="AtlasTexture_1s05q"]
atlas = ExtResource("1_qjien")
region = Rect2(2460, 1230, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_mchl5"]
atlas = ExtResource("1_qjien")
region = Rect2(2870, 1230, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_qjien"]
atlas = ExtResource("1_qjien")
region = Rect2(0, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_46gqu"]
atlas = ExtResource("1_qjien")
region = Rect2(410, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_lja6v"]
atlas = ExtResource("1_qjien")
region = Rect2(820, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_lbhka"]
atlas = ExtResource("1_qjien")
region = Rect2(1230, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_svv4p"]
atlas = ExtResource("1_qjien")
region = Rect2(1640, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_xwowv"]
atlas = ExtResource("1_qjien")
region = Rect2(2050, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_eocst"]
atlas = ExtResource("1_qjien")
region = Rect2(2460, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_oru4o"]
atlas = ExtResource("1_qjien")
region = Rect2(2870, 820, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_uues0"]
atlas = ExtResource("1_qjien")
region = Rect2(0, 1230, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_aypw2"]
atlas = ExtResource("1_qjien")
region = Rect2(410, 1230, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_axinn"]
atlas = ExtResource("1_qjien")
region = Rect2(0, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_k0ye7"]
atlas = ExtResource("1_qjien")
region = Rect2(410, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_kxmuw"]
atlas = ExtResource("1_qjien")
region = Rect2(820, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_osrpp"]
atlas = ExtResource("1_qjien")
region = Rect2(1230, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_75jsb"]
atlas = ExtResource("1_qjien")
region = Rect2(1640, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_gl08l"]
atlas = ExtResource("1_qjien")
region = Rect2(2050, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_pbc4y"]
atlas = ExtResource("1_qjien")
region = Rect2(2460, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_78lc6"]
atlas = ExtResource("1_qjien")
region = Rect2(2870, 0, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_ebb7w"]
atlas = ExtResource("1_qjien")
region = Rect2(0, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_n5ibn"]
atlas = ExtResource("1_qjien")
region = Rect2(410, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_t88nf"]
atlas = ExtResource("1_qjien")
region = Rect2(820, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_cfx4h"]
atlas = ExtResource("1_qjien")
region = Rect2(1230, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_lhnib"]
atlas = ExtResource("1_qjien")
region = Rect2(1640, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_hxj20"]
atlas = ExtResource("1_qjien")
region = Rect2(2050, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_cn77b"]
atlas = ExtResource("1_qjien")
region = Rect2(2460, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_h70xp"]
atlas = ExtResource("1_qjien")
region = Rect2(2870, 1640, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_huk0x"]
atlas = ExtResource("1_qjien")
region = Rect2(0, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_0vri5"]
atlas = ExtResource("1_qjien")
region = Rect2(410, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_rm5xx"]
atlas = ExtResource("1_qjien")
region = Rect2(820, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_xdls4"]
atlas = ExtResource("1_qjien")
region = Rect2(1230, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_nxec3"]
atlas = ExtResource("1_qjien")
region = Rect2(1640, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_kkbtn"]
atlas = ExtResource("1_qjien")
region = Rect2(2050, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_1pje3"]
atlas = ExtResource("1_qjien")
region = Rect2(2460, 410, 410, 410)
[sub_resource type="AtlasTexture" id="AtlasTexture_yxick"]
atlas = ExtResource("1_qjien")
region = Rect2(2870, 410, 410, 410)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_1s05q")
}],
"loop": false,
"name": &"flip_left",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mchl5")
}],
"loop": false,
"name": &"flip_right",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_qjien")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_46gqu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lja6v")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lbhka")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_svv4p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xwowv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eocst")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_oru4o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uues0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aypw2")
}],
"loop": false,
"name": &"happy",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_axinn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k0ye7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kxmuw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_osrpp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_75jsb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gl08l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pbc4y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_78lc6")
}],
"loop": true,
"name": &"idle",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ebb7w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n5ibn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t88nf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cfx4h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lhnib")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hxj20")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cn77b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h70xp")
}],
"loop": false,
"name": &"sad",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_huk0x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0vri5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rm5xx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xdls4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nxec3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kkbtn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1pje3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yxick")
}],
"loop": false,
"name": &"throw",
"speed": 12.0
}]
@@ -165,12 +165,12 @@ func _on_snowball_thrown(pos: Vector2, label: PenguinLabel) -> void:
Log.error("PenguinMinigame: Cannot update remediation score because label GP has no WordID")
if correct_answer:
penguin.happy()
await label.right()
label.right()
await penguin.happy()
current_word_progression += 1
else:
penguin.sad()
await label.wrong()
label.wrong()
await penguin.sad()
current_lives -= 1
# Re-enables all labels
@@ -1,10 +1,9 @@
[gd_scene load_steps=8 format=3 uid="uid://dpp3bpy1v80jk"]
[gd_scene load_steps=7 format=3 uid="uid://dpp3bpy1v80jk"]
[ext_resource type="PackedScene" uid="uid://8awe4usnucyv" path="res://sources/minigames/base/base_minigame.tscn" id="1_s6yuv"]
[ext_resource type="Script" uid="uid://250f3suy83hr" path="res://sources/minigames/penguin/penguin_minigame.gd" id="2_ncha4"]
[ext_resource type="Texture2D" uid="uid://cvnv0beq0dcr4" path="res://assets/minigames/penguin/graphic/background.png" id="3_8crb3"]
[ext_resource type="Texture2D" uid="uid://kwcp3ondyggo" path="res://assets/minigames/penguin/graphic/gauge_icon_penguin_empty.png" id="3_gdpi3"]
[ext_resource type="Texture2D" uid="uid://7apuslkxluxp" path="res://assets/minigames/penguin/graphic/snowballs_pile.png" id="4_e3y2j"]
[ext_resource type="PackedScene" uid="uid://b78362g1yif2n" path="res://sources/minigames/penguin/penguin.tscn" id="4_txvyj"]
[ext_resource type="Texture2D" uid="uid://dq23np4euf6da" path="res://assets/minigames/penguin/graphic/gauge_icon_penguin_full.png" id="4_yua7j"]
@@ -29,13 +28,8 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_8crb3")
[node name="SnowPile" type="Sprite2D" parent="GameRoot/Background" index="0"]
position = Vector2(905, 1605)
scale = Vector2(2, 2)
texture = ExtResource("4_e3y2j")
[node name="Penguin" parent="GameRoot" index="1" instance=ExtResource("4_txvyj")]
position = Vector2(702, 1694)
position = Vector2(637, 1314)
[node name="Control" type="Control" parent="GameRoot" index="2"]
layout_mode = 1
+2 -2
View File
@@ -29,7 +29,7 @@ curve = SubResource("Curve2D_hpr8y")
script = ExtResource("1_1ihh4")
[node name="PathFollow2D" type="PathFollow2D" parent="."]
rotation = -0.785398
rotation = -0.7853982
loop = false
[node name="Sprite2D" type="Sprite2D" parent="PathFollow2D"]
@@ -39,9 +39,9 @@ texture = ExtResource("1_wakpr")
[node name="Particles" type="GPUParticles2D" parent="PathFollow2D"]
emitting = false
amount = 12
process_material = SubResource("ParticleProcessMaterial_krqel")
texture = ExtResource("1_wakpr")
lifetime = 1.5
one_shot = true
explosiveness = 1.0
randomness = 0.33
process_material = SubResource("ParticleProcessMaterial_krqel")