Add fade out and exit to credits

This commit is contained in:
Otto 2024-10-09 21:46:52 +03:00
parent a2b84bc8c0
commit ec75fe8ae7
2 changed files with 156 additions and 108 deletions

View file

@ -4,58 +4,6 @@
[ext_resource type="Shader" path="res://assets/shaders/wipe.gdshader" id="2_nafep"] [ext_resource type="Shader" path="res://assets/shaders/wipe.gdshader" id="2_nafep"]
[ext_resource type="Texture2D" uid="uid://5hxbsfm0aa0" path="res://icon.svg" id="3_ko2fe"] [ext_resource type="Texture2D" uid="uid://5hxbsfm0aa0" path="res://icon.svg" id="3_ko2fe"]
[sub_resource type="Animation" id="Animation_5f8px"]
resource_name = "xtra_wipe"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("XTRA/Wipe:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 4.5, 5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(242, -519), Vector2(1349, 53.9999), Vector2(1349, 53.9999), Vector2(242, -519)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("XTRA:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 4.5, 5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("XTRA/Title:scrambling")
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("XTRA/Title:infinite")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="Animation" id="Animation_durpn"] [sub_resource type="Animation" id="Animation_durpn"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
@ -226,57 +174,17 @@ tracks/13/keys = {
"update": 1, "update": 1,
"values": [true] "values": [true]
} }
tracks/14/type = "value"
[sub_resource type="Animation" id="Animation_ylxds"] tracks/14/imported = false
resource_name = "gorkamorka_wipe" tracks/14/enabled = true
length = 5.0 tracks/14/path = NodePath("Godot/Fade:color")
tracks/0/type = "value" tracks/14/interp = 1
tracks/0/imported = false tracks/14/loop_wrap = true
tracks/0/enabled = true tracks/14/keys = {
tracks/0/path = NodePath("GorkaMorka/Wipe:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 4.5, 5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(37, -922), Vector2(-989, -1452), Vector2(-989, -1452), Vector2(37, -922)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GorkaMorka:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("GorkaMorka/Title:scrambling")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"update": 1, "update": 0,
"values": [true] "values": [Color(0, 0, 0, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("GorkaMorka/Title:infinite")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
} }
[sub_resource type="Animation" id="Animation_vvwrq"] [sub_resource type="Animation" id="Animation_vvwrq"]
@ -331,9 +239,61 @@ tracks/3/keys = {
"values": [true, false] "values": [true, false]
} }
[sub_resource type="Animation" id="Animation_ylxds"]
resource_name = "gorkamorka_wipe"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("GorkaMorka/Wipe:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 4.5, 5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(37, -922), Vector2(-989, -1452), Vector2(-989, -1452), Vector2(37, -922)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("GorkaMorka:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("GorkaMorka/Title:scrambling")
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("GorkaMorka/Title:infinite")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="Animation" id="Animation_pkma0"] [sub_resource type="Animation" id="Animation_pkma0"]
resource_name = "technical_wipe" resource_name = "technical_wipe"
length = 0.6 length = 6.5
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
@ -358,6 +318,84 @@ tracks/1/keys = {
"update": 1, "update": 1,
"values": [true] "values": [true]
} }
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(6.5),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"quit"
}]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Godot/Fade:color")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 4, 5.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
}
[sub_resource type="Animation" id="Animation_5f8px"]
resource_name = "xtra_wipe"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("XTRA/Wipe:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 4.5, 5),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector2(242, -519), Vector2(1349, 53.9999), Vector2(1349, 53.9999), Vector2(242, -519)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("XTRA:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 4.5, 5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("XTRA/Title:scrambling")
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("XTRA/Title:infinite")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_lswdn"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_lswdn"]
_data = { _data = {
@ -570,10 +608,10 @@ layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = 872.0 offset_left = -341.0
offset_top = -797.0 offset_top = -1424.0
offset_right = 872.0 offset_right = -341.0
offset_bottom = -797.0 offset_bottom = -1424.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
rotation = 0.477038 rotation = 0.477038
@ -639,8 +677,15 @@ layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_top = 401.0 grow_horizontal = 2
offset_bottom = 401.0 grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="Fade" type="ColorRect" parent="Godot"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
color = Color(0, 0, 0, 1) color = Color(0, 0, 0, 1)

View file

@ -2,6 +2,9 @@ extends Control
var XTRA_name_timer: Timer = Timer.new(); var XTRA_name_timer: Timer = Timer.new();
func quit() -> void:
get_tree().quit();
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
var XTRA_name_lambda: Callable = func() -> void: ($XTRA/Title as ScramblingText).infinite = false; var XTRA_name_lambda: Callable = func() -> void: ($XTRA/Title as ScramblingText).infinite = false;