From ec7a84c2521c8accae6be99ea4946cff761e628e Mon Sep 17 00:00:00 2001 From: Henry Date: Tue, 23 Dec 2025 10:38:27 +0000 Subject: [PATCH] Added shoot-to-start game code, re-ordered starting sequence using "playing" variable. --- main.gd | 14 ++++++++++++-- main.tscn | 4 ++-- player.gd | 25 ++++++++++++++++++------- ui.gd | 1 + 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/main.gd b/main.gd index d24ef2c..b85b6a3 100644 --- a/main.gd +++ b/main.gd @@ -12,6 +12,8 @@ func _ready(): start_button.show() EventBus.player_died.connect(_on_player_died) EventBus.enemy_died.connect(_on_enemy_died) + + # spawn_enemies() func spawn_enemies(): @@ -36,21 +38,28 @@ func _on_enemy_died(value: int): win_game() func _on_player_died(): - playing = false get_tree().call_group("enemies", "queue_free") game_over.show() await get_tree().create_timer(2).timeout game_over.hide() start_button.show() + playing = false func new_game(): Global.score = 0 - EventBus.initialize_shieldbar.emit() + # EventBus.initialize_shieldbar.emit() $Player.start() $CanvasLayer/UI.update_score(Global.score) spawn_enemies() playing = true + +func _input(EventInput): + if EventInput.is_action_pressed("shoot") and playing == false: + print("Input detected!") + start_button.hide() + new_game() + func _on_start_pressed(): start_button.hide() new_game() @@ -58,6 +67,7 @@ func _on_start_pressed(): func win_game(): playing = false game_over.show() + $Player._on_game_over() await get_tree().create_timer(2).timeout game_over.hide() start_button.show() diff --git a/main.tscn b/main.tscn index b4b9795..6c0c919 100644 --- a/main.tscn +++ b/main.tscn @@ -59,8 +59,8 @@ centered = false region_enabled = true region_rect = Rect2(0, 0, 240, 320) -[node name="Player" parent="." instance=ExtResource("2_0xm2m")] -position = Vector2(123, 272) +[node name="Player" parent="." groups=["ship"] instance=ExtResource("2_0xm2m")] +position = Vector2(123, 254) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { diff --git a/player.gd b/player.gd index 20da701..7674c32 100644 --- a/player.gd +++ b/player.gd @@ -12,7 +12,7 @@ signal damage_taken var shield: int = 0: set = set_shield -var can_shoot = true +var can_shoot = false var shader_active = false var clamp_shield = clamp(shield, 0, max_shield) @@ -22,20 +22,24 @@ var clamp_shield = clamp(shield, 0, max_shield) @onready var ship = $Ship func _ready(): + set_process(false) print(shield) $Ship.hide() # start() func start(): print(shield) - set_process(true) + $Ship.frame = 1 $Ship.show() - position = Vector2(screensize.x / 2, screensize.y + 32) + position = Vector2(screensize.x / 2, screensize.y) var tween = create_tween() - tween.tween_property($Ship, "position:y", 32 * -1, .25) + tween.tween_property(self, "position:y", 32 * -1, .25).as_relative() $GunCooldown.wait_time = cooldown set_shield(max_shield) print(shield) + await get_tree().create_timer(2).timeout + set_process(true) + can_shoot = true # EventBus.shield_changed.emit(max_shield, old_value, shield) func _process(delta): @@ -61,10 +65,10 @@ func shoot(): $GunCooldown.start() var b = bullet_scene.instantiate() get_tree().root.add_child(b) - b.start(position + $Ship.position + Vector2(0, -1)) + b.start(position + ship.position + Vector2(0, -1)) var tween = create_tween().set_parallel(false) - tween.tween_property($Ship, "position:y", 1, 0.1).as_relative() - tween.tween_property($Ship, "position:y", 0, 0.05).as_relative() + tween.tween_property(ship, "position:y", 1, 0.1) + tween.tween_property(ship, "position:y", 0, 0.05) func set_shield(value: int): var old_value = shield @@ -98,3 +102,10 @@ func _on_damage_taken() -> void: await get_tree().create_timer(1).timeout shader_active = false $Ship.material.set_shader_parameter("toggle", 0.0) + +func _on_game_over() -> void: + set_process(false) + $Ship.frame = 1 + await get_tree().create_timer(2).timeout + var tween = create_tween() + tween.tween_property(self, "position:y", 60 * -1, .25).set_ease(tween.EASE_IN) diff --git a/ui.gd b/ui.gd index 0f935d4..fda5c37 100644 --- a/ui.gd +++ b/ui.gd @@ -34,5 +34,6 @@ func _on_initialize_shieldbar(): print("Shieldbar Initializing!") var tween = create_tween() tween.tween_property(shield_bar, "value", 100, .25).set_trans(Tween.TRANS_LINEAR) + await tween.finished print_debug("Tweens played!") return