its game over WIP

This commit is contained in:
Maurane
2026-02-27 16:29:12 +01:00
parent df36a08d81
commit d4a533bf17
20 changed files with 379 additions and 148 deletions
+22
View File
@@ -0,0 +1,22 @@
extends ColorRect
@onready var animation = $FadingMaskAnimation
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
hide()
#Handles fading transitions
func fade_in():
modulate.a = 0.0
show()
animation.play("fade_in")
func fade_out():
animation.play("fade_out")
await animation.animation_finished
hide()
@@ -0,0 +1 @@
uid://dbjei4d2lfwnb
+16 -57
View File
@@ -1,71 +1,30 @@
extends CanvasLayer
signal fading_finished
signal transition_finished
@onready var big_fading = $BigFading
@onready var small_fading = $SmallFading
@onready var big_animation = $BigFading/BigFadingAnimation
@onready var small_animation = $SmallFading/SmallFadingAnimation
@onready var fading_mask = $FadingMask
@onready var its_game_over = $ITSGameOver
@onready var mask = $Mask
signal transition_finished
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass
#Transitions the scenes with a fading mask
func transition(scenes_to_hide, scenes_to_show):
#Hiding masks
big_fading.visible = false
small_fading.visible = false
mask.visible = false
#Fade in
fading_mask.fade_in()
await fading_mask.animation.animation_finished
#Connecting signals
big_animation.connect("animation_finished", _on_animation_finished)
small_animation.connect("animation_finished", _on_animation_finished)
func _on_animation_finished(anim_name):
#Fades back to normal when fade_to_black is done
if anim_name == "fade_to_black":
fading_finished.emit()
big_animation.play("fade_to_normal")
small_animation.play("fade_to_normal")
#Resets everything when fading_to_normal is done
elif anim_name == "fade_to_normal":
transition_finished.emit()
Globals.is_transitioning = false
big_fading.visible = false
small_fading.visible = false
#Handles fading transitions
func fading(size):
Globals.is_transitioning = true
if size == "big":
big_fading.visible = true
big_animation.play("fade_to_black")
elif size == "small":
small_fading.visible = true
small_animation.play("fade_to_black")
#Transitions the scenes
func transition(fading_screen_size, scenes_to_hide, scenes_to_show):
#Fade in and out
fading(fading_screen_size)
await self.fading_finished
#When the screen is black from fading, change the shown scenes before it fades back to normal
#Hides and show appropriates scenes
for scene in scenes_to_hide:
scene.hide()
for scene in scenes_to_show:
scene.show()
#Fade out
fading_mask.fade_out()
await fading_mask.animation.animation_finished
transition_finished.emit()
+12 -74
View File
@@ -1,13 +1,14 @@
[gd_scene load_steps=10 format=3 uid="uid://drk1l7ijo4xq5"]
[gd_scene load_steps=7 format=3 uid="uid://drk1l7ijo4xq5"]
[ext_resource type="Script" uid="uid://dywfa5vbgtrkb" path="res://Scenes/transition_screen/transition_screen.gd" id="1_hbjtk"]
[ext_resource type="Script" uid="uid://dbjei4d2lfwnb" path="res://Scenes/transition_screen/fading_mask.gd" id="2_m3r4n"]
[sub_resource type="Animation" id="Animation_n85x3"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("BigFading:modulate")
tracks/0/path = NodePath("FadingMask:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -22,7 +23,7 @@ resource_name = "fade_to_black"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("BigFading:modulate")
tracks/0/path = NodePath("FadingMask:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -37,7 +38,7 @@ resource_name = "fade_to_normal"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("BigFading:modulate")
tracks/0/path = NodePath("FadingMask:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -50,69 +51,15 @@ tracks/0/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5yx4m"]
_data = {
&"RESET": SubResource("Animation_n85x3"),
&"fade_to_black": SubResource("Animation_20bx3"),
&"fade_to_normal": SubResource("Animation_in743")
}
[sub_resource type="Animation" id="Animation_igu58"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_3ahpb"]
resource_name = "fade_to_black"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_do6sc"]
resource_name = "fade_to_normal"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_h2xbl"]
_data = {
&"RESET": SubResource("Animation_igu58"),
&"fade_to_black": SubResource("Animation_3ahpb"),
&"fade_to_normal": SubResource("Animation_do6sc")
&"fade_in": SubResource("Animation_20bx3"),
&"fade_out": SubResource("Animation_in743")
}
[node name="transition_screen" type="CanvasLayer"]
layer = 110
layer = 102
script = ExtResource("1_hbjtk")
[node name="BigFading" type="ColorRect" parent="."]
[node name="FadingMask" type="ColorRect" parent="."]
modulate = Color(0, 0, 0, 0)
anchors_preset = 15
anchor_right = 1.0
@@ -120,25 +67,16 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
script = ExtResource("2_m3r4n")
[node name="BigFadingAnimation" type="AnimationPlayer" parent="BigFading"]
[node name="FadingMaskAnimation" type="AnimationPlayer" parent="FadingMask"]
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_5yx4m")
}
[node name="SmallFading" type="ColorRect" parent="."]
offset_top = 244.0
offset_right = 1923.0
offset_bottom = 899.0
color = Color(0, 0, 0, 1)
[node name="SmallFadingAnimation" type="AnimationPlayer" parent="SmallFading"]
libraries = {
&"": SubResource("AnimationLibrary_h2xbl")
}
[node name="Mask" type="ColorRect" parent="."]
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0