its game over WIP
This commit is contained in:
@@ -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
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user