fade-in/out popup

master
Fabien Freling 2020-05-23 18:27:02 +02:00
parent c6b9a06419
commit 6b2587a90d
2 changed files with 20 additions and 2 deletions

View File

@ -7,6 +7,9 @@ signal start_triggered(config)
const pref_path = "user://preferences.cfg"
var preferences = ConfigFile.new()
var fade_duration = 0.2
onready var tween = $Tween
func _init():
var err = preferences.load(pref_path)
@ -14,8 +17,14 @@ func _init():
func _ready():
pass
func fade_out():
tween.remove_all()
tween.interpolate_property(self, "modulate:a", 1.0, 0.0, fade_duration, Tween.TRANS_LINEAR, Tween.EASE_IN)
tween.interpolate_callback(self, fade_duration, "hide")
tween.start()
func _on_Cancel_pressed():
self.hide()
fade_out()
func _on_Start_pressed():
if $Panel/HBoxContainer/Easy.pressed:
@ -28,7 +37,7 @@ func _on_Start_pressed():
preferences.save(pref_path)
emit_signal("start_triggered", preferences)
self.hide()
fade_out()
func _on_NewGamePanel_about_to_show():
$Panel/HBoxContainer/Easy.pressed = false
@ -48,3 +57,7 @@ func _on_NewGamePanel_about_to_show():
$Panel/HBoxContainer/Normal.pressed = true
$Panel/Start.grab_focus()
tween.interpolate_property(self, "modulate:a", 0.0, 1.0, 0.3, Tween.TRANS_LINEAR, Tween.EASE_IN)
tween.start()

View File

@ -10,6 +10,9 @@ anchor_bottom = 1.0
theme = ExtResource( 1 )
popup_exclusive = true
script = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Panel" type="Panel" parent="."]
anchor_right = 1.0
@ -85,6 +88,8 @@ margin_bottom = -20.0
rect_min_size = Vector2( 200, 70 )
text = "Cancel"
flat = true
[node name="Tween" type="Tween" parent="."]
[connection signal="about_to_show" from="." to="." method="_on_NewGamePanel_about_to_show"]
[connection signal="pressed" from="Panel/Start" to="." method="_on_Start_pressed"]
[connection signal="pressed" from="Panel/Cancel" to="." method="_on_Cancel_pressed"]