Troubleshooting player_died signal.

This commit is contained in:
Henry 2025-12-16 23:19:03 +00:00
parent afc5c68569
commit a73fb28552
7 changed files with 48 additions and 56 deletions

26
main.gd
View file

@ -1,22 +1,17 @@
extends Node2D
var enemy = preload("res://enemy.tscn")
var score = 0
var playing = false
@onready var start_button = $CanvasLayer/CenterContainer/Start
@onready var game_over = $CanvasLayer/CenterContainer/GameOver
var enemy = preload("res://enemy.tscn")
var score = 0
func _ready():
start_button.show()
game_over.hide()
start_button.show()
# spawn_enemies()
func new_game():
score = 0
$CanvasLayer/UI.update_score(score)
$Player.start()
spawn_enemies()
func spawn_enemies():
for x in range(9):
for y in range(3):
@ -24,19 +19,28 @@ func spawn_enemies():
var pos = Vector2(x * (16 + 8) + 24, 16 * 4 + y * 16)
add_child(e)
e.start(pos)
e.died.connect(_on_enemy_died)
EventBus.enemy_died.emit()
func _on_enemy_died(value):
score += value
$CanvasLayer/UI.update_score(score)
func _on_player_died():
print("game over")
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()
func new_game():
score = 0
$CanvasLayer/UI.update_score(score)
$Player.start()
spawn_enemies()
playing = true
func _on_start_pressed():
start_button.hide()
new_game()