Added shoot-to-start game code, re-ordered starting sequence using

"playing" variable.
This commit is contained in:
Henry 2025-12-23 10:38:27 +00:00
parent 099440d27f
commit ec7a84c252
4 changed files with 33 additions and 11 deletions

View file

@ -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)