From 914a6e401070955f7c11d15034d18460999e3fb9 Mon Sep 17 00:00:00 2001 From: Melon Bread Date: Mon, 13 May 2024 20:02:52 -0400 Subject: [PATCH] Allow the game over screen to grab proper focus when it opens --- scenes/game.tscn | 22 +++------------------- scenes/game_over_screen.tscn | 1 + scripts/game.gd | 4 +++- scripts/game_over_screen.gd | 6 ++++-- 4 files changed, 11 insertions(+), 22 deletions(-) diff --git a/scenes/game.tscn b/scenes/game.tscn index 522b96f..478b95f 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,18 +1,10 @@ -[gd_scene load_steps=8 format=3 uid="uid://bdarunpk3c2eh"] +[gd_scene load_steps=6 format=3 uid="uid://bdarunpk3c2eh"] [ext_resource type="Script" path="res://scripts/game.gd" id="1_6727i"] [ext_resource type="PackedScene" uid="uid://cbo47ftx0vcro" path="res://scenes/ship.tscn" id="1_esyqo"] [ext_resource type="FontFile" uid="uid://bkcxbtx1vcj8w" path="res://assets/fonts/Color Basic.otf" id="2_gwtm0"] [ext_resource type="PackedScene" uid="uid://0yktrbyp6cr3" path="res://scenes/game_over_screen.tscn" id="3_yy075"] -[ext_resource type="Texture2D" uid="uid://chuygpyfe3y10" path="res://assets/img/star.png" id="4_jc3cg"] - -[sub_resource type="Curve" id="Curve_8qyxb"] -_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.606742, 1), 0.052866, 0.052866, 0, 0, Vector2(1, 0.615385), 0.0, 0.0, 0, 0] -point_count = 3 - -[sub_resource type="Gradient" id="Gradient_rnjki"] -offsets = PackedFloat32Array(0, 0.406667, 0.84) -colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1) +[ext_resource type="PackedScene" uid="uid://cemhlom425afn" path="res://scenes/stars.tscn" id="4_064lo"] [node name="Game" type="Node2D"] script = ExtResource("1_6727i") @@ -50,15 +42,7 @@ grow_horizontal = 2 grow_vertical = 2 color = Color(0, 0, 0, 1) -[node name="Stars" type="CPUParticles2D" parent="Background"] -amount = 64 -lifetime = 5.0 -texture = ExtResource("4_jc3cg") -emission_shape = 3 -emission_rect_extents = Vector2(1200, 700) -gravity = Vector2(0, 0) -scale_amount_curve = SubResource("Curve_8qyxb") -color_ramp = SubResource("Gradient_rnjki") +[node name="Stars" parent="Background" instance=ExtResource("4_064lo")] [node name="Ship" parent="." instance=ExtResource("1_esyqo")] z_index = 1 diff --git a/scenes/game_over_screen.tscn b/scenes/game_over_screen.tscn index 9d9ae37..8db930e 100644 --- a/scenes/game_over_screen.tscn +++ b/scenes/game_over_screen.tscn @@ -99,5 +99,6 @@ theme_override_fonts/font = ExtResource("1_lbk85") text = "quit " +[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] [connection signal="pressed" from="Panel/RetryButton" to="." method="_on_retry_button_pressed"] [connection signal="pressed" from="Panel/QuitButton" to="." method="_on_quit_button_pressed"] diff --git a/scripts/game.gd b/scripts/game.gd index 21ae47a..20a06e5 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -35,7 +35,6 @@ func game_over() -> void: # Wait 1 second before showing the game over screen for "dramatic" effect await get_tree().create_timer(1.0).timeout $UI/GameOverScreen.visible = true - # TODO: Set focus on one of the buttons once the game over screen when shown func increase_score(comet_size : int) -> void: # We add one since comet_size starts count at 0 @@ -46,3 +45,6 @@ func update_ui()-> void: # Label strings must be all caps for font to render proper $UI/Score.text = "SCORE: " + str(score) $UI/Level.text = "LEVEL: " + str(level) + + + diff --git a/scripts/game_over_screen.gd b/scripts/game_over_screen.gd index ce8582f..9eb368f 100644 --- a/scripts/game_over_screen.gd +++ b/scripts/game_over_screen.gd @@ -4,5 +4,7 @@ func _on_retry_button_pressed() -> void: get_tree().change_scene_to_file("res://scenes/game.tscn") func _on_quit_button_pressed() -> void: - # TODO: Go to title screen instead of killing the game - get_tree().quit() + get_tree().change_scene_to_file("res://scenes/title_screen.tscn") + +func _on_visibility_changed() -> void: + $Panel/RetryButton.grab_focus()