diff options
author | Brena Cardoso <> | 2024-01-27 19:04:15 +0200 |
---|---|---|
committer | Brena Cardoso <> | 2024-01-27 19:04:15 +0200 |
commit | c7c019bf863d6b45ec14ddf0f6bdb9908ec6cbf9 (patch) | |
tree | 09175bc1c7066ab4189ec22ed01b6c02734b4576 | |
parent | 6bbb28a65262a581f66ce8341aeb96a944456230 (diff) | |
parent | fbdee2def3d82fda4a65a91e060a166ee5293222 (diff) | |
download | gamejam-ggj-2024-c7c019bf863d6b45ec14ddf0f6bdb9908ec6cbf9.tar.gz gamejam-ggj-2024-c7c019bf863d6b45ec14ddf0f6bdb9908ec6cbf9.tar.bz2 gamejam-ggj-2024-c7c019bf863d6b45ec14ddf0f6bdb9908ec6cbf9.zip |
Merge branch 'main' of github.com:henriquelalves/ggj2024
-rw-r--r-- | game/main.gd | 24 | ||||
-rw-r--r-- | game/main.tscn | 4 | ||||
-rw-r--r-- | game/microgames/flowers_delivery/flowers_delivery.gd | 2 | ||||
-rw-r--r-- | game/microgames/heart_break/heart_break.gd | 8 | ||||
-rw-r--r-- | game/microgames/heart_break/heart_break.tscn | 3 | ||||
-rw-r--r-- | game/microgames/heart_break/player_heart.gd | 8 | ||||
-rw-r--r-- | game/microgames/heart_break/spiky.gd | 17 | ||||
-rw-r--r-- | game/microgames/heart_break/spiky.tscn | 3 | ||||
-rw-r--r-- | game/shared/assets/SingleDay-Regular.ttf | bin | 0 -> 815516 bytes | |||
-rw-r--r-- | game/shared/assets/SingleDay-Regular.ttf.import | 33 | ||||
-rw-r--r-- | game/shared/characters/character_animation.gd | 32 | ||||
-rw-r--r-- | game/shared/characters/character_animation.tscn | 14 | ||||
-rw-r--r-- | game/shared/scripts/microgame.gd | 2 | ||||
-rw-r--r-- | game/transition/transition.gd | 33 | ||||
-rw-r--r-- | game/transition/transition.tscn | 321 |
15 files changed, 422 insertions, 82 deletions
diff --git a/game/main.gd b/game/main.gd index 6dc8532..03531c7 100644 --- a/game/main.gd +++ b/game/main.gd @@ -5,8 +5,12 @@ const MICROGAMES = [preload("res://game/microgames/flowers_delivery/flowers_deli @onready var transition: Transition = %Transition @onready var microgame_viewport = %MicrogameViewport @onready var microgame_subviewport = %MicrogameSubViewport +@onready var microgame_timer: Timer = %MicrogameTimer var _current_microgame: Microgame +var _starting = true +var _won_last_microgame = false +var _microgame_count = 1 func _ready() -> void: @@ -20,19 +24,23 @@ func _ready() -> void: while true: if _current_microgame != null: _current_microgame.process_mode = Node.PROCESS_MODE_DISABLED - - transition.show_win_animation() - - await transition.microgame_viewport_hidden - - if _current_microgame != null: + + await transition.microgame_fade_out() _current_microgame.queue_free() + + await transition.play_result_animation(_won_last_microgame) _current_microgame = MICROGAMES[0].instantiate() microgame_subviewport.add_child(_current_microgame) _current_microgame.process_mode = Node.PROCESS_MODE_DISABLED - await transition.finished + await transition.play_microgame_count(_microgame_count) + + await transition.microgame_fade_in() + _current_microgame.process_mode = Node.PROCESS_MODE_INHERIT - await _current_microgame.finished + _won_last_microgame = await _current_microgame.finished + + _starting = false + _microgame_count += 1 diff --git a/game/main.tscn b/game/main.tscn index 447d8c7..055f1d2 100644 --- a/game/main.tscn +++ b/game/main.tscn @@ -23,3 +23,7 @@ unique_name_in_owner = true handle_input_locally = false size = Vector2i(2, 2) render_target_update_mode = 4 + +[node name="MicrogameTimer" type="Timer" parent="."] +unique_name_in_owner = true +wait_time = 5.0 diff --git a/game/microgames/flowers_delivery/flowers_delivery.gd b/game/microgames/flowers_delivery/flowers_delivery.gd index 2c448de..e6c25da 100644 --- a/game/microgames/flowers_delivery/flowers_delivery.gd +++ b/game/microgames/flowers_delivery/flowers_delivery.gd @@ -4,5 +4,5 @@ extends Microgame # Called when the node enters the scene tree for the first time. func _ready() -> void: await $Timer.timeout - finished.emit() + finished.emit(true if randf() < 0.5 else false) print("acabou") diff --git a/game/microgames/heart_break/heart_break.gd b/game/microgames/heart_break/heart_break.gd index b12ae70..d25afe8 100644 --- a/game/microgames/heart_break/heart_break.gd +++ b/game/microgames/heart_break/heart_break.gd @@ -12,7 +12,11 @@ func _process(delta): func _on_player_heart_body_entered(body): if body is Spiky: - print("hey") - $PlayerHeart.get_node("AnimatedSprite2D").play("death") + disable_player() ## GameOver pass + +func disable_player(): + $PlayerHeart.get_node("AnimatedSprite2D").play("death") + $PlayerHeart.playerControl = false + diff --git a/game/microgames/heart_break/heart_break.tscn b/game/microgames/heart_break/heart_break.tscn index 68bec77..b130424 100644 --- a/game/microgames/heart_break/heart_break.tscn +++ b/game/microgames/heart_break/heart_break.tscn @@ -54,4 +54,7 @@ position = Vector2(235, 481) [node name="Spiky4" parent="." instance=ExtResource("3_dfa23")] position = Vector2(845, 496) +[node name="Spiky5" parent="." instance=ExtResource("3_dfa23")] +position = Vector2(570, 104) + [connection signal="body_entered" from="PlayerHeart" to="." method="_on_player_heart_body_entered"] diff --git a/game/microgames/heart_break/player_heart.gd b/game/microgames/heart_break/player_heart.gd index 565cee1..0a6b26a 100644 --- a/game/microgames/heart_break/player_heart.gd +++ b/game/microgames/heart_break/player_heart.gd @@ -1,6 +1,7 @@ extends RigidBody2D var speed = 250 +var playerControl = true # Called when the node enters the scene tree for the first time. func _ready(): @@ -9,7 +10,8 @@ func _ready(): # Called every frame. 'delta' is the elapsed time since the previous frame. func _physics_process(delta): - var moveVector = Vector2(Input.get_axis("Left","Right")*speed, Input.get_axis("Up","Down")*speed) - apply_force(moveVector) - #set_axis_velocity(moveVector) + if(playerControl): + var moveVector = Vector2(Input.get_axis("Left","Right")*speed, Input.get_axis("Up","Down")*speed) + apply_force(moveVector) + #set_axis_velocity(moveVector) pass diff --git a/game/microgames/heart_break/spiky.gd b/game/microgames/heart_break/spiky.gd index 3fa5983..df4414b 100644 --- a/game/microgames/heart_break/spiky.gd +++ b/game/microgames/heart_break/spiky.gd @@ -1,11 +1,22 @@ -extends RigidBody2D +extends CharacterBody2D class_name Spiky +var dir:Vector2 = Vector2.UP +var speed = 200 + # Called when the node enters the scene tree for the first time. func _ready(): - pass # Replace with function body. + dir = dir.rotated(2*PI*randf()) + #apply_central_force(dir*250) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - pass + velocity = dir * speed + var collided = move_and_slide() + if(collided): + dir = dir.rotated(2*PI*randf()) + var collider = get_last_slide_collision().get_collider() + if(collider is Node and collider.name == "PlayerHeart"): + collider.body_entered.emit(self) + diff --git a/game/microgames/heart_break/spiky.tscn b/game/microgames/heart_break/spiky.tscn index 267dc26..da658b2 100644 --- a/game/microgames/heart_break/spiky.tscn +++ b/game/microgames/heart_break/spiky.tscn @@ -6,8 +6,7 @@ [sub_resource type="RectangleShape2D" id="RectangleShape2D_1xy8p"] size = Vector2(96.5, 90) -[node name="Spiky" type="RigidBody2D"] -gravity_scale = 0.0 +[node name="Spiky" type="CharacterBody2D"] script = ExtResource("1_fx3ld") [node name="Sprite2D" type="Sprite2D" parent="."] diff --git a/game/shared/assets/SingleDay-Regular.ttf b/game/shared/assets/SingleDay-Regular.ttf Binary files differnew file mode 100644 index 0000000..c70da6b --- /dev/null +++ b/game/shared/assets/SingleDay-Regular.ttf diff --git a/game/shared/assets/SingleDay-Regular.ttf.import b/game/shared/assets/SingleDay-Regular.ttf.import new file mode 100644 index 0000000..48ef387 --- /dev/null +++ b/game/shared/assets/SingleDay-Regular.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://den305djdhip6" +path="res://.godot/imported/SingleDay-Regular.ttf-328494f7e7c7bddc457d5d401d0bdfa4.fontdata" + +[deps] + +source_file="res://game/shared/assets/SingleDay-Regular.ttf" +dest_files=["res://.godot/imported/SingleDay-Regular.ttf-328494f7e7c7bddc457d5d401d0bdfa4.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/game/shared/characters/character_animation.gd b/game/shared/characters/character_animation.gd new file mode 100644 index 0000000..d3fdfc4 --- /dev/null +++ b/game/shared/characters/character_animation.gd @@ -0,0 +1,32 @@ +@tool +extends Node2D + +@onready var animated_sprite: AnimatedSprite2D = %CharacterAnimatedSprite +var _sprite_frames: SpriteFrames + +@export var sprite_frames: SpriteFrames : + set(v): + _sprite_frames = v + if not is_node_ready(): + await ready + animated_sprite.sprite_frames = _sprite_frames + get: + return _sprite_frames + + +func _reset_animation(): + animated_sprite.animation = "default" + + +func play_happy(): + animated_sprite.animation = "happy" + var tween = create_tween() + tween.tween_property(animated_sprite, "scale", Vector2.ONE, 1).set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_ELASTIC).from(Vector2(1.3, 0.8)) + tween.tween_callback(_reset_animation).set_delay(0.5) + + +func play_mad(): + animated_sprite.animation = "mad" + var tween = create_tween() + tween.tween_property(animated_sprite, "scale", Vector2.ONE, 1).set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK).from(Vector2(1.2, 0.8)) + tween.tween_callback(_reset_animation).set_delay(0.5) diff --git a/game/shared/characters/character_animation.tscn b/game/shared/characters/character_animation.tscn index 04ddb12..2dabd95 100644 --- a/game/shared/characters/character_animation.tscn +++ b/game/shared/characters/character_animation.tscn @@ -1,10 +1,12 @@ -[gd_scene load_steps=2 format=3 uid="uid://k0mx61qjphst"] - -[ext_resource type="SpriteFrames" uid="uid://c5j2ojumuirph" path="res://game/microgames/heart_break/assets/heart_animation.tres" id="1_utnrb"] +[gd_scene load_steps=3 format=3 uid="uid://k0mx61qjphst"] +[ext_resource type="Script" path="res://game/shared/characters/character_animation.gd" id="1_qpodi"] +[ext_resource type="SpriteFrames" uid="uid://dbwmqcig0qbw8" path="res://game/shared/characters/ali_animation.tres" id="2_pffd0"] [node name="CharacterAnimation" type="Node2D"] +script = ExtResource("1_qpodi") +sprite_frames = ExtResource("2_pffd0") -[node name="Character" type="AnimatedSprite2D" parent="."] -sprite_frames = ExtResource("1_utnrb") -frame_progress = 0.924904 +[node name="CharacterAnimatedSprite" type="AnimatedSprite2D" parent="."] +unique_name_in_owner = true +sprite_frames = ExtResource("2_pffd0") diff --git a/game/shared/scripts/microgame.gd b/game/shared/scripts/microgame.gd index 7aef5ed..29b63ed 100644 --- a/game/shared/scripts/microgame.gd +++ b/game/shared/scripts/microgame.gd @@ -4,4 +4,4 @@ extends Node @export var microgame_name = "" @export var instruction = "" -signal finished +signal finished(won) diff --git a/game/transition/transition.gd b/game/transition/transition.gd index 45daf65..563e6d1 100644 --- a/game/transition/transition.gd +++ b/game/transition/transition.gd @@ -3,22 +3,41 @@ extends Node2D @export var speed_scale = 1.0 +signal finished_animation + @onready var animation_player = %AnimationPlayer @onready var microgame_viewport_container = %MicrogameViewportContainer -signal finished -signal microgame_viewport_hidden +var _lives = 0 +var _characters = [] func _ready() -> void: animation_player.speed_scale = speed_scale + _characters = %Characters.get_children() + animation_player.play("RESET") -func _emit_microgame_viewport_hidden() -> void: - microgame_viewport_hidden.emit() +func microgame_fade_out(): + animation_player.play("microgame_fade_out") + await animation_player.animation_finished -func show_win_animation(): - animation_player.play("win_transition") +func microgame_fade_in(): + animation_player.play_backwards("microgame_fade_out") await animation_player.animation_finished - finished.emit() + + +func play_microgame_count(count: int): + %MicrogameCountLabel.text = "%03d" % count + animation_player.play("show_microgame_count") + await animation_player.animation_finished + + +func play_result_animation(won : bool) -> void: + for c in _characters: + if (won): + c.play_happy() + else: + c.play_mad() + await get_tree().create_timer(0.5).timeout diff --git a/game/transition/transition.tscn b/game/transition/transition.tscn index 0fdeb01..a86b07a 100644 --- a/game/transition/transition.tscn +++ b/game/transition/transition.tscn @@ -1,90 +1,235 @@ -[gd_scene load_steps=6 format=3 uid="uid://u3g8s4kck61t"] +[gd_scene load_steps=14 format=3 uid="uid://u3g8s4kck61t"] [ext_resource type="Script" path="res://game/transition/transition.gd" id="1_vtfth"] +[ext_resource type="PackedScene" uid="uid://k0mx61qjphst" path="res://game/shared/characters/character_animation.tscn" id="2_2nft6"] +[ext_resource type="FontFile" uid="uid://den305djdhip6" path="res://game/shared/assets/SingleDay-Regular.ttf" id="2_phg5r"] +[ext_resource type="SpriteFrames" uid="uid://bosng2x2w205a" path="res://game/shared/characters/fro_animation.tres" id="3_gxf7f"] +[ext_resource type="Texture2D" uid="uid://6v31vl2mxbvb" path="res://game/shared/assets/namoradinha_sheet.png" id="4_wxw0m"] +[ext_resource type="SpriteFrames" uid="uid://jvyw0cu710vo" path="res://game/shared/characters/kit_animation.tres" id="5_l50r6"] +[ext_resource type="SpriteFrames" uid="uid://dwwhh2i13kfs2" path="res://game/shared/characters/mi_animation.tres" id="6_eiuh1"] [sub_resource type="LabelSettings" id="LabelSettings_wobn0"] -font_size = 44 +font = ExtResource("2_phg5r") +font_size = 80 font_color = Color(0, 0, 0, 1) -[sub_resource type="Animation" id="Animation_lm0of"] -resource_name = "win_transition" -length = 5.0 +[sub_resource type="Animation" id="Animation_hump4"] +length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("Foreground/Label:position") +tracks/0/path = NodePath("Foreground/Characters/CharacterAnimation:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 1.5, 3.5, 5), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(511, -116), Vector2(521, 289), Vector2(521, 289), Vector2(-282, 283)] +"values": [Vector2(338, 305)] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("Foreground/ViewportContainer/ColorRect:color") +tracks/1/path = NodePath("Foreground/Characters/CharacterAnimation2:position") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 0.5, 4, 5), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +"values": [Vector2(163, 386)] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("Foreground/ViewportContainer:size") +tracks/2/path = NodePath("Foreground/Characters/CharacterAnimation3:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 0.5, 4, 5), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(1152, 648), Vector2(432, 220), Vector2(432, 220), Vector2(1152, 648)] +"values": [Vector2(820, 306)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("Foreground/ViewportContainer:position") +tracks/3/path = NodePath("Foreground/Characters/CharacterAnimation4:position") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { -"times": PackedFloat32Array(0, 0.5, 4, 5), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(0, 0), Vector2(360, 68), Vector2(360, 68), Vector2(0, 0)] +"values": [Vector2(982, 389)] } -tracks/4/type = "method" +tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath(".") +tracks/4/path = NodePath("Foreground/ViewportContainer/ColorRect:color") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0.6), +"times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"_emit_microgame_viewport_hidden" -}] +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Foreground/ViewportContainer:size") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(432, 220)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Foreground/ViewportContainer:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(360, 68)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Foreground/MicrogameCountLabel:position") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(511, -116)] } -[sub_resource type="Animation" id="Animation_hump4"] -length = 0.001 +[sub_resource type="Animation" id="Animation_67853"] +resource_name = "microgame_fade_out" +length = 0.5 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("Foreground/Label:position") +tracks/0/path = NodePath("Foreground/ViewportContainer/ColorRect:color") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Vector2(511, -116)] +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Foreground/ViewportContainer:size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1152, 648), Vector2(432, 220)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Foreground/ViewportContainer:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(360, 68)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Foreground/Characters/CharacterAnimation:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-158, 449), Vector2(338, 305)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Foreground/Characters/CharacterAnimation2:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-333, 530), Vector2(163, 386)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Foreground/Characters/CharacterAnimation3:position") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1340, 468), Vector2(820, 306)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Foreground/Characters/CharacterAnimation4:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1502, 551), Vector2(982, 389)] +} + +[sub_resource type="Animation" id="Animation_8isba"] +resource_name = "show_microgame_count" +length = 1.6 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Foreground/MicrogameCountLabel:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.3, 1.3, 1.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(463, -116), Vector2(455, 275), Vector2(455, 275), Vector2(454, 715)] +} + +[sub_resource type="Animation" id="Animation_lm0of"] +resource_name = "win_transition" +length = 5.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Foreground/MicrogameCountLabel:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1.5, 3.5, 5), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(511, -116), Vector2(521, 289), Vector2(521, 289), Vector2(-282, 283)] } tracks/1/type = "value" tracks/1/imported = false @@ -93,10 +238,10 @@ tracks/1/path = NodePath("Foreground/ViewportContainer/ColorRect:color") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PackedFloat32Array(0, 0.5, 4, 5), +"transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, -"values": [Color(1, 1, 1, 0)] +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } tracks/2/type = "value" tracks/2/imported = false @@ -105,10 +250,10 @@ tracks/2/path = NodePath("Foreground/ViewportContainer:size") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PackedFloat32Array(0, 0.5, 4, 5), +"transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, -"values": [Vector2(1152, 648)] +"values": [Vector2(1152, 648), Vector2(432, 220), Vector2(432, 220), Vector2(1152, 648)] } tracks/3/type = "value" tracks/3/imported = false @@ -117,15 +262,31 @@ tracks/3/path = NodePath("Foreground/ViewportContainer:position") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PackedFloat32Array(0, 0.5, 4, 5), +"transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, -"values": [Vector2(0, 0)] +"values": [Vector2(0, 0), Vector2(360, 68), Vector2(360, 68), Vector2(0, 0)] +} +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.6), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"_emit_microgame_viewport_hidden" +}] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_en0c8"] _data = { "RESET": SubResource("Animation_hump4"), +"microgame_fade_out": SubResource("Animation_67853"), +"show_microgame_count": SubResource("Animation_8isba"), "win_transition": SubResource("Animation_lm0of") } @@ -158,8 +319,10 @@ layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_right = 1152.0 -offset_bottom = 648.0 +offset_left = 360.0 +offset_top = 68.0 +offset_right = 792.0 +offset_bottom = 288.0 grow_horizontal = 2 grow_vertical = 2 @@ -179,9 +342,9 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -color = Color(1, 1, 1, 0) -[node name="Label" type="Label" parent="Foreground"] +[node name="MicrogameCountLabel" type="Label" parent="Foreground"] +unique_name_in_owner = true anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 @@ -189,12 +352,72 @@ anchor_right = 0.5 anchor_bottom = 0.5 offset_left = 511.0 offset_top = -116.0 -offset_right = 641.0 -offset_bottom = -55.0 +offset_right = 747.0 +offset_bottom = -5.99976 grow_horizontal = 2 grow_vertical = 2 text = "blabla" label_settings = SubResource("LabelSettings_wobn0") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Characters" type="Control" parent="Foreground"] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="CharacterAnimation" parent="Foreground/Characters" instance=ExtResource("2_2nft6")] +position = Vector2(338, 305) +sprite_frames = ExtResource("3_gxf7f") + +[node name="Sprite2D2" type="Sprite2D" parent="Foreground/Characters/CharacterAnimation"] +show_behind_parent = true +position = Vector2(-14, 12) +texture = ExtResource("4_wxw0m") +offset = Vector2(2.08165e-12, 2.08165e-12) +hframes = 3 +vframes = 9 + +[node name="CharacterAnimation2" parent="Foreground/Characters" instance=ExtResource("2_2nft6")] +position = Vector2(163, 386) + +[node name="Sprite2D" type="Sprite2D" parent="Foreground/Characters/CharacterAnimation2"] +show_behind_parent = true +position = Vector2(-18, 5) +texture = ExtResource("4_wxw0m") +offset = Vector2(2.08165e-12, 2.08165e-12) +hframes = 3 +vframes = 9 + +[node name="CharacterAnimation3" parent="Foreground/Characters" instance=ExtResource("2_2nft6")] +position = Vector2(820, 306) +scale = Vector2(-1, 1) +sprite_frames = ExtResource("5_l50r6") + +[node name="Sprite2D3" type="Sprite2D" parent="Foreground/Characters/CharacterAnimation3"] +show_behind_parent = true +position = Vector2(5, 18) +texture = ExtResource("4_wxw0m") +offset = Vector2(2.08165e-12, 2.08165e-12) +hframes = 3 +vframes = 9 + +[node name="CharacterAnimation4" parent="Foreground/Characters" instance=ExtResource("2_2nft6")] +position = Vector2(982, 389) +scale = Vector2(-1, 1) +sprite_frames = ExtResource("6_eiuh1") + +[node name="Sprite2D4" type="Sprite2D" parent="Foreground/Characters/CharacterAnimation4"] +show_behind_parent = true +position = Vector2(0, -1) +texture = ExtResource("4_wxw0m") +offset = Vector2(2.08165e-12, 2.08165e-12) +hframes = 3 +vframes = 9 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true |