niveau/transitions: shader de transition
Entre les niveaux et à la mort il y a maintenant un fondu au noir qui se met en place pour éviter d'avoir la gerbe sur les mouvements de caméra. la physique est en pause pendant la transition.
This commit is contained in:
@@ -24,6 +24,7 @@ func dash_fart() -> bool:
|
||||
func reset():
|
||||
animationPlayer.play("RESET")
|
||||
loaded = false
|
||||
loading = false
|
||||
|
||||
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
|
||||
if anim_name == "reload":
|
||||
|
||||
19
HUD/hud.gd
19
HUD/hud.gd
@@ -4,7 +4,11 @@ class_name HUD extends CanvasLayer
|
||||
@onready var gauge2 := $FartGauge2 as FartGauge
|
||||
@onready var gauge3 := $FartGauge3 as FartGauge
|
||||
|
||||
@onready var shader := $TransitionShader
|
||||
|
||||
signal fart_reloaded()
|
||||
signal screen_is_black()
|
||||
signal screen_is_ready()
|
||||
|
||||
var cheese_number = 0
|
||||
var gauges = []
|
||||
@@ -15,7 +19,6 @@ func _ready() -> void:
|
||||
gauge3.connect("reload_done", cheese_loaded)
|
||||
gauges = [gauge1, gauge2, gauge3]
|
||||
|
||||
|
||||
func reset():
|
||||
cheese_number = 0
|
||||
for gauge in gauges:
|
||||
@@ -34,3 +37,17 @@ func dash_fart():
|
||||
|
||||
func cheese_loaded():
|
||||
fart_reloaded.emit()
|
||||
|
||||
func begin_scene_transition():
|
||||
print("start scene transition")
|
||||
shader.fade_out()
|
||||
|
||||
func end_scene_transition():
|
||||
print("end scene transition")
|
||||
shader.fade_in()
|
||||
|
||||
func _on_transition_shader_fade_in_done() -> void:
|
||||
screen_is_ready.emit()
|
||||
|
||||
func _on_transition_shader_fade_out_done() -> void:
|
||||
screen_is_black.emit()
|
||||
|
||||
12
HUD/hud.tscn
12
HUD/hud.tscn
@@ -1,8 +1,11 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dvlb4thqhqke"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://dvlb4thqhqke"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dsgt6b1bqi6ui" path="res://HUD/fart_gauge.tscn" id="1_4e2i3"]
|
||||
[ext_resource type="Script" path="res://HUD/hud.gd" id="1_e1sc7"]
|
||||
[ext_resource type="PackedScene" uid="uid://17macg0q4k8l" path="res://shaders/transition_shader.tscn" id="2_gh8iu"]
|
||||
|
||||
[node name="HUD" type="CanvasLayer"]
|
||||
script = ExtResource("1_e1sc7")
|
||||
|
||||
[node name="FartGauge3" parent="." instance=ExtResource("1_4e2i3")]
|
||||
position = Vector2(242, 6)
|
||||
@@ -18,3 +21,10 @@ scale = Vector2(0.7, 0.7)
|
||||
position = Vector2(51, 6)
|
||||
rotation = -1.5708
|
||||
scale = Vector2(0.7, 0.7)
|
||||
|
||||
[node name="TransitionShader" parent="." instance=ExtResource("2_gh8iu")]
|
||||
offset_right = 0.0
|
||||
offset_bottom = 0.0
|
||||
|
||||
[connection signal="fade_in_done" from="TransitionShader" to="." method="_on_transition_shader_fade_in_done"]
|
||||
[connection signal="fade_out_done" from="TransitionShader" to="." method="_on_transition_shader_fade_out_done"]
|
||||
|
||||
Reference in New Issue
Block a user