Merge pull request #51 from Excello-Recherche-Education/jellyfish-assets-v2

Jellyfish graphical improvement
This commit is contained in:
Adrien Ufferte
2025-08-12 12:04:18 +02:00
committed by GitHub
22 changed files with 1023 additions and 34 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 139 KiB

@@ -2,7 +2,7 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c7oq86cgq7okn"
uid="uid://d60ylt2dvc2s"
path="res://.godot/imported/background.png-efb3c9298c89dad479689fd212c0f1b2.ctex"
metadata={
"vram_texture": false
Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://8pqgvcr4wukd"
path="res://.godot/imported/blue_jellyfish_layer_1.png-ded26697e61821a4af17afb6bd58f89e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/minigames/jellyfish/graphic/blue_jellyfish_layer_1.png"
dest_files=["res://.godot/imported/blue_jellyfish_layer_1.png-ded26697e61821a4af17afb6bd58f89e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b68gvx4lwqked"
path="res://.godot/imported/blue_jellyfish_layer_2.png-d48d07d14a16b9ae424f0aa828c6c78a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/minigames/jellyfish/graphic/blue_jellyfish_layer_2.png"
dest_files=["res://.godot/imported/blue_jellyfish_layer_2.png-d48d07d14a16b9ae424f0aa828c6c78a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
Binary file not shown.

After

Width:  |  Height:  |  Size: 465 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ouogv4kicu4d"
path="res://.godot/imported/pink_jellyfish_layer_1.png-80b89901a8bd571eabb362c32ae001a5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/minigames/jellyfish/graphic/pink_jellyfish_layer_1.png"
dest_files=["res://.godot/imported/pink_jellyfish_layer_1.png-80b89901a8bd571eabb362c32ae001a5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cj8mhhve72ff"
path="res://.godot/imported/pink_jellyfish_layer_2.png-230459161919292a3868ae639ba4e1a2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/minigames/jellyfish/graphic/pink_jellyfish_layer_2.png"
dest_files=["res://.godot/imported/pink_jellyfish_layer_2.png-230459161919292a3868ae639ba4e1a2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c34sgkbvr3h8q"
path="res://.godot/imported/primary_text_box.png-e6e7d0f2e6a28bafc3bf983ee5c88924.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/minigames/minigame_ui/graphic/primary_text_box.png"
dest_files=["res://.godot/imported/primary_text_box.png-e6e7d0f2e6a28bafc3bf983ee5c88924.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbtr0cyiapi3g"
path="res://.godot/imported/primary_text_box_outline.png-5b726d4cac88e8411d188e6023d8d5da.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/minigames/minigame_ui/graphic/primary_text_box_outline.png"
dest_files=["res://.godot/imported/primary_text_box_outline.png-5b726d4cac88e8411d188e6023d8d5da.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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
@@ -0,0 +1,182 @@
[gd_resource type="SpriteFrames" load_steps=25 format=3 uid="uid://033w5t1wyg3w"]
[ext_resource type="Texture2D" uid="uid://b68gvx4lwqked" path="res://assets/minigames/jellyfish/graphic/blue_jellyfish_layer_2.png" id="1_ao52b"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ogbkb"]
atlas = ExtResource("1_ao52b")
region = Rect2(0, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ao52b"]
atlas = ExtResource("1_ao52b")
region = Rect2(800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_i3dbe"]
atlas = ExtResource("1_ao52b")
region = Rect2(1600, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_vku7d"]
atlas = ExtResource("1_ao52b")
region = Rect2(2400, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_jxx2u"]
atlas = ExtResource("1_ao52b")
region = Rect2(3200, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_rw152"]
atlas = ExtResource("1_ao52b")
region = Rect2(4000, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_laebt"]
atlas = ExtResource("1_ao52b")
region = Rect2(4800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_j8dj4"]
atlas = ExtResource("1_ao52b")
region = Rect2(0, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_kkqe3"]
atlas = ExtResource("1_ao52b")
region = Rect2(800, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_4csu2"]
atlas = ExtResource("1_ao52b")
region = Rect2(1600, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_7t73o"]
atlas = ExtResource("1_ao52b")
region = Rect2(2400, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_48173"]
atlas = ExtResource("1_ao52b")
region = Rect2(3200, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_st7lu"]
atlas = ExtResource("1_ao52b")
region = Rect2(4000, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_gwn6k"]
atlas = ExtResource("1_ao52b")
region = Rect2(0, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_d6o0u"]
atlas = ExtResource("1_ao52b")
region = Rect2(800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_f6tld"]
atlas = ExtResource("1_ao52b")
region = Rect2(1600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_2uka4"]
atlas = ExtResource("1_ao52b")
region = Rect2(2400, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_st0vd"]
atlas = ExtResource("1_ao52b")
region = Rect2(3200, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_igfc0"]
atlas = ExtResource("1_ao52b")
region = Rect2(4000, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ggrjv"]
atlas = ExtResource("1_ao52b")
region = Rect2(4800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_lgbld"]
atlas = ExtResource("1_ao52b")
region = Rect2(5600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_xe2l3"]
atlas = ExtResource("1_ao52b")
region = Rect2(0, 800, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_5lmpk"]
atlas = ExtResource("1_ao52b")
region = Rect2(800, 800, 800, 800)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ogbkb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ao52b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i3dbe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vku7d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jxx2u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rw152")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_laebt")
}],
"loop": true,
"name": &"happy",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_j8dj4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kkqe3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4csu2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7t73o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_48173")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_st7lu")
}],
"loop": true,
"name": &"hit",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_gwn6k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d6o0u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f6tld")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2uka4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_st0vd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_igfc0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ggrjv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lgbld")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xe2l3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5lmpk")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}]
@@ -0,0 +1,182 @@
[gd_resource type="SpriteFrames" load_steps=25 format=3 uid="uid://cyllu3lpjcxej"]
[ext_resource type="Texture2D" uid="uid://8pqgvcr4wukd" path="res://assets/minigames/jellyfish/graphic/blue_jellyfish_layer_1.png" id="1_838ab"]
[sub_resource type="AtlasTexture" id="AtlasTexture_838ab"]
atlas = ExtResource("1_838ab")
region = Rect2(0, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_k7wmb"]
atlas = ExtResource("1_838ab")
region = Rect2(800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_tcahu"]
atlas = ExtResource("1_838ab")
region = Rect2(1600, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_d2qc0"]
atlas = ExtResource("1_838ab")
region = Rect2(2400, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ahcbp"]
atlas = ExtResource("1_838ab")
region = Rect2(3200, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_qpkwc"]
atlas = ExtResource("1_838ab")
region = Rect2(4000, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_vi6l3"]
atlas = ExtResource("1_838ab")
region = Rect2(4800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_rlx1h"]
atlas = ExtResource("1_838ab")
region = Rect2(0, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_lp56s"]
atlas = ExtResource("1_838ab")
region = Rect2(800, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ophji"]
atlas = ExtResource("1_838ab")
region = Rect2(1600, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_h4exl"]
atlas = ExtResource("1_838ab")
region = Rect2(2400, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_f62ne"]
atlas = ExtResource("1_838ab")
region = Rect2(3200, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_bhm0c"]
atlas = ExtResource("1_838ab")
region = Rect2(4000, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_nxotj"]
atlas = ExtResource("1_838ab")
region = Rect2(0, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_lsi6o"]
atlas = ExtResource("1_838ab")
region = Rect2(800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_23ioc"]
atlas = ExtResource("1_838ab")
region = Rect2(1600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_pdr5c"]
atlas = ExtResource("1_838ab")
region = Rect2(2400, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_nyuf6"]
atlas = ExtResource("1_838ab")
region = Rect2(3200, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_pbx5b"]
atlas = ExtResource("1_838ab")
region = Rect2(4000, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_kfrgj"]
atlas = ExtResource("1_838ab")
region = Rect2(4800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_0kjqe"]
atlas = ExtResource("1_838ab")
region = Rect2(5600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_mr66x"]
atlas = ExtResource("1_838ab")
region = Rect2(0, 800, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_tcc0u"]
atlas = ExtResource("1_838ab")
region = Rect2(800, 800, 800, 800)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_838ab")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k7wmb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tcahu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d2qc0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ahcbp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qpkwc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vi6l3")
}],
"loop": true,
"name": &"happy",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_rlx1h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lp56s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ophji")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h4exl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f62ne")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bhm0c")
}],
"loop": true,
"name": &"hit",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_nxotj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lsi6o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_23ioc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pdr5c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nyuf6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pbx5b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kfrgj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0kjqe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mr66x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tcc0u")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}]
+43 -12
View File
@@ -9,9 +9,13 @@ enum Colors {
Green,
}
const ANIMATIONS: Array[SpriteFrames] = [
preload("res://sources/minigames/jellyfish/red_jellyfish_animations.tres"),
preload("res://sources/minigames/jellyfish/green_jellyfish_animations.tres"),
const ANIMATIONS_BODY: Array[SpriteFrames] = [
preload("res://sources/minigames/jellyfish/blue_jellyfish_animations_body.tres"),
preload("res://sources/minigames/jellyfish/pink_jellyfish_animations_body.tres"),
]
const ANIMATIONS_ARMS: Array[SpriteFrames] = [
preload("res://sources/minigames/jellyfish/blue_jellyfish_animations_arms.tres"),
preload("res://sources/minigames/jellyfish/pink_jellyfish_animations_arms.tres"),
]
const SCALES: Array[Vector2] = [
@@ -24,19 +28,29 @@ const SCALE_FACTOR: float = 0.2
@export var color: int = Colors.Red:
set(value):
color = value
if animated_sprite:
animated_sprite.sprite_frames = ANIMATIONS[color]
if animated_sprite_body:
animated_sprite_body.sprite_frames = ANIMATIONS_BODY[color]
else:
Logger.error("Jellyfish: no animated sprite body")
if animated_sprite_arms:
animated_sprite_arms.sprite_frames = ANIMATIONS_ARMS[color]
else:
Logger.error("Jellyfish: no animated sprite arms")
scale = SCALES[color] * (1. + randf() * SCALE_FACTOR)
# Handles sprite size
sprite_control.resized.emit()
@onready var sprite_control: SpriteControl = $SpriteControl
@onready var animated_sprite: AnimatedSprite2D = %AnimatedSprite2D
@onready var animated_sprite_body: AnimatedSprite2D = %AnimatedSprite2D_Body
@onready var animated_sprite_arms: AnimatedSprite2D = %AnimatedSprite2D_Arms
@onready var label: Label = %AutoSizeLabel.get_node("Label")
@onready var highlight_fx: HighlightFX = %HighlightFX
@onready var right_fx: RightFX = %RightFX
@onready var wrong_fx: WrongFX = %WrongFX
@onready var text_box_sprite_2d: Sprite2D = %TextBox_Sprite2D
@onready var text_box_outline_sprite_2d: Sprite2D = %TextBox_Outline_Sprite2D
var stimulus: Dictionary = {}:
set(value):
@@ -53,24 +67,31 @@ func _ready() -> void:
var rand: float = randf()
color = Colors.Red if rand < 0.7 else Colors.Green
animated_sprite.play("idle")
animated_sprite.frame = randi_range(0, animated_sprite.sprite_frames.get_frame_count("idle") - 1)
var rand_frame: int = randi_range(0, animated_sprite_body.sprite_frames.get_frame_count("idle") - 1)
animated_sprite_body.frame = rand_frame
animated_sprite_arms.frame = rand_frame
idle()
func is_idle() -> bool:
return animated_sprite.animation == "idle"
return animated_sprite_body.animation == "idle"
func happy() -> void:
animated_sprite.play("happy")
play_animation_by_name("happy")
func idle() -> void:
animated_sprite.play("idle")
play_animation_by_name("idle")
func hit() -> void:
animated_sprite.play("hit")
play_animation_by_name("hit")
func play_animation_by_name(animation_name: String) -> void:
animated_sprite_body.play(animation_name)
animated_sprite_arms.play(animation_name)
func highlight() -> void:
@@ -82,11 +103,21 @@ func stop_highlight() -> void:
func right() -> void:
label.label_settings = label.label_settings.duplicate()
label.label_settings.font_color = Color("#009444")
text_box_sprite_2d.self_modulate = Color("#e6f3e0")
text_box_outline_sprite_2d.self_modulate = Color("#009344")
text_box_outline_sprite_2d.visible = true
right_fx.play()
await right_fx.finished
func wrong() -> void:
label.label_settings = label.label_settings.duplicate()
label.label_settings.font_color = Color("#be1e2d")
text_box_sprite_2d.self_modulate = Color("#fce6e6")
text_box_outline_sprite_2d.self_modulate = Color("#be1e2d")
text_box_outline_sprite_2d.visible = true
wrong_fx.play()
await wrong_fx.finished
+44 -19
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=3 uid="uid://cpkwyypyikpfc"]
[gd_scene load_steps=14 format=3 uid="uid://cpkwyypyikpfc"]
[ext_resource type="Script" uid="uid://bk5oyj8r6aw2h" path="res://sources/utils/sprite_control.gd" id="1_1b85n"]
[ext_resource type="Script" uid="uid://b1lfi4hen3e7" path="res://sources/minigames/jellyfish/jellyfish.gd" id="1_06uwq"]
@@ -6,17 +6,18 @@
[ext_resource type="PackedScene" uid="uid://cge0uyn30tcpv" path="res://sources/utils/fx/highlight.tscn" id="3_5uhvd"]
[ext_resource type="Script" uid="uid://d5qkkg88431w" path="res://sources/utils/percent_margin_container.gd" id="3_vllju"]
[ext_resource type="PackedScene" uid="uid://bgio7muqck2bu" path="res://sources/utils/auto_size_label.tscn" id="4_26xiq"]
[ext_resource type="SpriteFrames" uid="uid://dquynn3nx52o" path="res://sources/minigames/jellyfish/red_jellyfish_animations.tres" id="5_ksgn6"]
[ext_resource type="Texture2D" uid="uid://c34sgkbvr3h8q" path="res://assets/minigames/minigame_ui/graphic/primary_text_box.png" id="6_ah5ir"]
[ext_resource type="SpriteFrames" uid="uid://033w5t1wyg3w" path="res://sources/minigames/jellyfish/blue_jellyfish_animations_arms.tres" id="6_i86t4"]
[ext_resource type="SpriteFrames" uid="uid://cyllu3lpjcxej" path="res://sources/minigames/jellyfish/blue_jellyfish_animations_body.tres" id="6_p6hdi"]
[ext_resource type="PackedScene" uid="uid://dlmbxcgiv8tpr" path="res://sources/utils/fx/wrong.tscn" id="6_w1tlu"]
[ext_resource type="FontFile" uid="uid://bw8cb4e0a7ayj" path="res://assets/fonts/kalulu_mulish_regular.otf" id="8_p6hdi"]
[ext_resource type="Texture2D" uid="uid://bbtr0cyiapi3g" path="res://assets/minigames/minigame_ui/graphic/primary_text_box_outline.png" id="10_jfr88"]
[sub_resource type="LabelSettings" id="LabelSettings_qqnw2"]
font = ExtResource("8_p6hdi")
font_size = 120
outline_size = 8
outline_color = Color(0, 0, 0, 1)
shadow_size = 15
shadow_color = Color(0, 0, 0, 0.639216)
font_color = Color(0.2, 0.2, 0.2, 1)
outline_color = Color(0.2, 0.2, 0.2, 1)
[node name="Jellyfish" type="Control"]
custom_minimum_size = Vector2(400, 400)
@@ -24,7 +25,7 @@ layout_mode = 3
anchors_preset = 0
offset_right = 400.0
offset_bottom = 400.0
scale = Vector2(1.1859, 1.1859)
scale = Vector2(1.07045, 1.07045)
script = ExtResource("1_06uwq")
[node name="BackFX" type="Control" parent="."]
@@ -70,41 +71,65 @@ grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_1b85n")
sprites = [NodePath("AnimatedSprite2D")]
sprites = [NodePath("AnimatedSprite2D_Body"), NodePath("AnimatedSprite2D_Arms")]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="SpriteControl"]
[node name="AnimatedSprite2D_Body" type="AnimatedSprite2D" parent="SpriteControl"]
unique_name_in_owner = true
scale = Vector2(2.15054, 2.15054)
sprite_frames = ExtResource("5_ksgn6")
scale = Vector2(0.5, 0.5)
sprite_frames = ExtResource("6_p6hdi")
animation = &"idle"
frame_progress = 0.533611
frame_progress = 0.17636
centered = false
offset = Vector2(-0.000205994, 0.00019455)
[node name="PercentMarginContainer" type="Container" parent="."]
layout_mode = 1
[node name="TextBox_Sprite2D" type="Sprite2D" parent="SpriteControl"]
unique_name_in_owner = true
position = Vector2(200.421, 242.545)
scale = Vector2(0.471, 0.471)
texture = ExtResource("6_ah5ir")
[node name="PercentMarginContainer" type="Container" parent="SpriteControl/TextBox_Sprite2D"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -297.0
offset_top = -114.5
offset_right = -297.0
offset_bottom = -114.5
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("3_vllju")
margin_left_ratio = 0.2
margin_top_ratio = 0.1
margin_right_ratio = 0.2
margin_bottom_ratio = 0.6
margin_bottom_ratio = 0.2
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="PercentMarginContainer"]
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="SpriteControl/TextBox_Sprite2D/PercentMarginContainer"]
layout_mode = 2
[node name="AutoSizeLabel" parent="PercentMarginContainer/AspectRatioContainer" instance=ExtResource("4_26xiq")]
[node name="AutoSizeLabel" parent="SpriteControl/TextBox_Sprite2D/PercentMarginContainer/AspectRatioContainer" instance=ExtResource("4_26xiq")]
unique_name_in_owner = true
layout_mode = 2
[node name="Label" parent="PercentMarginContainer/AspectRatioContainer/AutoSizeLabel" index="0"]
[node name="Label" parent="SpriteControl/TextBox_Sprite2D/PercentMarginContainer/AspectRatioContainer/AutoSizeLabel" index="0"]
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = ""
label_settings = SubResource("LabelSettings_qqnw2")
[node name="TextBox_Outline_Sprite2D" type="Sprite2D" parent="SpriteControl/TextBox_Sprite2D"]
unique_name_in_owner = true
visible = false
texture = ExtResource("10_jfr88")
[node name="AnimatedSprite2D_Arms" type="AnimatedSprite2D" parent="SpriteControl"]
unique_name_in_owner = true
scale = Vector2(0.5, 0.5)
sprite_frames = ExtResource("6_i86t4")
animation = &"idle"
frame_progress = 0.17636
centered = false
offset = Vector2(-0.000205994, 0.00019455)
[node name="FrontFX" type="Control" parent="."]
custom_minimum_size = Vector2(0, 220)
layout_mode = 2
@@ -130,4 +155,4 @@ size_flags_vertical = 4
[connection signal="gui_input" from="." to="." method="_on_gui_input"]
[editable path="PercentMarginContainer/AspectRatioContainer/AutoSizeLabel"]
[editable path="SpriteControl/TextBox_Sprite2D/PercentMarginContainer/AspectRatioContainer/AutoSizeLabel"]
@@ -4,7 +4,7 @@
[ext_resource type="Script" uid="uid://b5own5tlvbofc" path="res://sources/minigames/jellyfish/jellyfish_minigame.gd" id="2_gnjlp"]
[ext_resource type="Texture2D" uid="uid://c0shai0eqdrbf" path="res://assets/minigames/jellyfish/graphic/gauge_icon_jellyfish_empty.png" id="4_1m7js"]
[ext_resource type="Texture2D" uid="uid://cq87j1xw4c31r" path="res://assets/minigames/jellyfish/graphic/gauge_icon_jellyfish_full.png" id="5_4gwjw"]
[ext_resource type="Texture2D" uid="uid://c7oq86cgq7okn" path="res://assets/minigames/jellyfish/graphic/background.png" id="6_sn7hv"]
[ext_resource type="Texture2D" uid="uid://d60ylt2dvc2s" path="res://assets/minigames/jellyfish/graphic/background.png" id="6_sn7hv"]
[node name="JellyfishMinigame" instance=ExtResource("1_hauef")]
script = ExtResource("2_gnjlp")
@@ -0,0 +1,182 @@
[gd_resource type="SpriteFrames" load_steps=25 format=3 uid="uid://cu631qur8h6sj"]
[ext_resource type="Texture2D" uid="uid://cj8mhhve72ff" path="res://assets/minigames/jellyfish/graphic/pink_jellyfish_layer_2.png" id="1_jy1pf"]
[sub_resource type="AtlasTexture" id="AtlasTexture_xnf2y"]
atlas = ExtResource("1_jy1pf")
region = Rect2(0, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_jy1pf"]
atlas = ExtResource("1_jy1pf")
region = Rect2(800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_5uson"]
atlas = ExtResource("1_jy1pf")
region = Rect2(1600, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_j0u76"]
atlas = ExtResource("1_jy1pf")
region = Rect2(2400, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_28b1t"]
atlas = ExtResource("1_jy1pf")
region = Rect2(3200, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_eit0n"]
atlas = ExtResource("1_jy1pf")
region = Rect2(4000, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_7oued"]
atlas = ExtResource("1_jy1pf")
region = Rect2(4800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_8wlqe"]
atlas = ExtResource("1_jy1pf")
region = Rect2(0, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_pobnn"]
atlas = ExtResource("1_jy1pf")
region = Rect2(800, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_uyvid"]
atlas = ExtResource("1_jy1pf")
region = Rect2(1600, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_wd77g"]
atlas = ExtResource("1_jy1pf")
region = Rect2(2400, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_kb6rf"]
atlas = ExtResource("1_jy1pf")
region = Rect2(3200, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_onbuv"]
atlas = ExtResource("1_jy1pf")
region = Rect2(4000, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_12vct"]
atlas = ExtResource("1_jy1pf")
region = Rect2(0, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_0oxhq"]
atlas = ExtResource("1_jy1pf")
region = Rect2(800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_fkan1"]
atlas = ExtResource("1_jy1pf")
region = Rect2(1600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_h6yey"]
atlas = ExtResource("1_jy1pf")
region = Rect2(2400, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ye555"]
atlas = ExtResource("1_jy1pf")
region = Rect2(3200, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_57ywv"]
atlas = ExtResource("1_jy1pf")
region = Rect2(4000, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_jmfe7"]
atlas = ExtResource("1_jy1pf")
region = Rect2(4800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_htut2"]
atlas = ExtResource("1_jy1pf")
region = Rect2(5600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_33jnl"]
atlas = ExtResource("1_jy1pf")
region = Rect2(0, 800, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ad0ps"]
atlas = ExtResource("1_jy1pf")
region = Rect2(800, 800, 800, 800)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xnf2y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jy1pf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5uson")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j0u76")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_28b1t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eit0n")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7oued")
}],
"loop": true,
"name": &"happy",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8wlqe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pobnn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uyvid")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wd77g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kb6rf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_onbuv")
}],
"loop": true,
"name": &"hit",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_12vct")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0oxhq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fkan1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h6yey")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ye555")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_57ywv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jmfe7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_htut2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_33jnl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ad0ps")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}]
@@ -0,0 +1,182 @@
[gd_resource type="SpriteFrames" load_steps=25 format=3 uid="uid://dijfxjt76waan"]
[ext_resource type="Texture2D" uid="uid://ouogv4kicu4d" path="res://assets/minigames/jellyfish/graphic/pink_jellyfish_layer_1.png" id="1_qtl0h"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qtl0h"]
atlas = ExtResource("1_qtl0h")
region = Rect2(0, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_m313y"]
atlas = ExtResource("1_qtl0h")
region = Rect2(800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_pc3ca"]
atlas = ExtResource("1_qtl0h")
region = Rect2(1600, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_nre3b"]
atlas = ExtResource("1_qtl0h")
region = Rect2(2400, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_o0qyj"]
atlas = ExtResource("1_qtl0h")
region = Rect2(3200, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_64h48"]
atlas = ExtResource("1_qtl0h")
region = Rect2(4000, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_wwxc7"]
atlas = ExtResource("1_qtl0h")
region = Rect2(4800, 2400, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_onqqg"]
atlas = ExtResource("1_qtl0h")
region = Rect2(0, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_dwai6"]
atlas = ExtResource("1_qtl0h")
region = Rect2(800, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_tbx4q"]
atlas = ExtResource("1_qtl0h")
region = Rect2(1600, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_ekjlu"]
atlas = ExtResource("1_qtl0h")
region = Rect2(2400, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_b3qui"]
atlas = ExtResource("1_qtl0h")
region = Rect2(3200, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_v7fx2"]
atlas = ExtResource("1_qtl0h")
region = Rect2(4000, 1600, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_4tmqs"]
atlas = ExtResource("1_qtl0h")
region = Rect2(0, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_scmnx"]
atlas = ExtResource("1_qtl0h")
region = Rect2(800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_e5op6"]
atlas = ExtResource("1_qtl0h")
region = Rect2(1600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_pd148"]
atlas = ExtResource("1_qtl0h")
region = Rect2(2400, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_tcbv6"]
atlas = ExtResource("1_qtl0h")
region = Rect2(3200, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_uctxx"]
atlas = ExtResource("1_qtl0h")
region = Rect2(4000, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_30oi4"]
atlas = ExtResource("1_qtl0h")
region = Rect2(4800, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_hqkj0"]
atlas = ExtResource("1_qtl0h")
region = Rect2(5600, 0, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_jprp7"]
atlas = ExtResource("1_qtl0h")
region = Rect2(0, 800, 800, 800)
[sub_resource type="AtlasTexture" id="AtlasTexture_v5r75"]
atlas = ExtResource("1_qtl0h")
region = Rect2(800, 800, 800, 800)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_qtl0h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m313y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pc3ca")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nre3b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_o0qyj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_64h48")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wwxc7")
}],
"loop": true,
"name": &"happy",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_onqqg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dwai6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tbx4q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ekjlu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b3qui")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v7fx2")
}],
"loop": true,
"name": &"hit",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_4tmqs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_scmnx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e5op6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pd148")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tcbv6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uctxx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_30oi4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hqkj0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jprp7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v5r75")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}]
+2 -1
View File
@@ -20,5 +20,6 @@ func _ready() -> void:
func _rescale() -> void:
label.pivot_offset = label.size / 2
label.scale = size / ref_size
var min_size: float = minf(ref_size.x, ref_size.y)
label.scale = size / min_size
label.position = size / 2 - label.pivot_offset