Added shoot-to-start game code, re-ordered starting sequence using
"playing" variable.
This commit is contained in:
parent
099440d27f
commit
ec7a84c252
4 changed files with 33 additions and 11 deletions
14
main.gd
14
main.gd
|
|
@ -12,6 +12,8 @@ func _ready():
|
||||||
start_button.show()
|
start_button.show()
|
||||||
EventBus.player_died.connect(_on_player_died)
|
EventBus.player_died.connect(_on_player_died)
|
||||||
EventBus.enemy_died.connect(_on_enemy_died)
|
EventBus.enemy_died.connect(_on_enemy_died)
|
||||||
|
|
||||||
|
|
||||||
# spawn_enemies()
|
# spawn_enemies()
|
||||||
|
|
||||||
func spawn_enemies():
|
func spawn_enemies():
|
||||||
|
|
@ -36,21 +38,28 @@ func _on_enemy_died(value: int):
|
||||||
win_game()
|
win_game()
|
||||||
|
|
||||||
func _on_player_died():
|
func _on_player_died():
|
||||||
playing = false
|
|
||||||
get_tree().call_group("enemies", "queue_free")
|
get_tree().call_group("enemies", "queue_free")
|
||||||
game_over.show()
|
game_over.show()
|
||||||
await get_tree().create_timer(2).timeout
|
await get_tree().create_timer(2).timeout
|
||||||
game_over.hide()
|
game_over.hide()
|
||||||
start_button.show()
|
start_button.show()
|
||||||
|
playing = false
|
||||||
|
|
||||||
func new_game():
|
func new_game():
|
||||||
Global.score = 0
|
Global.score = 0
|
||||||
EventBus.initialize_shieldbar.emit()
|
# EventBus.initialize_shieldbar.emit()
|
||||||
$Player.start()
|
$Player.start()
|
||||||
$CanvasLayer/UI.update_score(Global.score)
|
$CanvasLayer/UI.update_score(Global.score)
|
||||||
spawn_enemies()
|
spawn_enemies()
|
||||||
playing = true
|
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():
|
func _on_start_pressed():
|
||||||
start_button.hide()
|
start_button.hide()
|
||||||
new_game()
|
new_game()
|
||||||
|
|
@ -58,6 +67,7 @@ func _on_start_pressed():
|
||||||
func win_game():
|
func win_game():
|
||||||
playing = false
|
playing = false
|
||||||
game_over.show()
|
game_over.show()
|
||||||
|
$Player._on_game_over()
|
||||||
await get_tree().create_timer(2).timeout
|
await get_tree().create_timer(2).timeout
|
||||||
game_over.hide()
|
game_over.hide()
|
||||||
start_button.show()
|
start_button.show()
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,8 @@ centered = false
|
||||||
region_enabled = true
|
region_enabled = true
|
||||||
region_rect = Rect2(0, 0, 240, 320)
|
region_rect = Rect2(0, 0, 240, 320)
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("2_0xm2m")]
|
[node name="Player" parent="." groups=["ship"] instance=ExtResource("2_0xm2m")]
|
||||||
position = Vector2(123, 272)
|
position = Vector2(123, 254)
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
libraries = {
|
libraries = {
|
||||||
|
|
|
||||||
25
player.gd
25
player.gd
|
|
@ -12,7 +12,7 @@ signal damage_taken
|
||||||
var shield: int = 0:
|
var shield: int = 0:
|
||||||
set = set_shield
|
set = set_shield
|
||||||
|
|
||||||
var can_shoot = true
|
var can_shoot = false
|
||||||
var shader_active = false
|
var shader_active = false
|
||||||
var clamp_shield = clamp(shield, 0, max_shield)
|
var clamp_shield = clamp(shield, 0, max_shield)
|
||||||
|
|
||||||
|
|
@ -22,20 +22,24 @@ var clamp_shield = clamp(shield, 0, max_shield)
|
||||||
@onready var ship = $Ship
|
@onready var ship = $Ship
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
set_process(false)
|
||||||
print(shield)
|
print(shield)
|
||||||
$Ship.hide()
|
$Ship.hide()
|
||||||
# start()
|
# start()
|
||||||
|
|
||||||
func start():
|
func start():
|
||||||
print(shield)
|
print(shield)
|
||||||
set_process(true)
|
$Ship.frame = 1
|
||||||
$Ship.show()
|
$Ship.show()
|
||||||
position = Vector2(screensize.x / 2, screensize.y + 32)
|
position = Vector2(screensize.x / 2, screensize.y)
|
||||||
var tween = create_tween()
|
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
|
$GunCooldown.wait_time = cooldown
|
||||||
set_shield(max_shield)
|
set_shield(max_shield)
|
||||||
print(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)
|
# EventBus.shield_changed.emit(max_shield, old_value, shield)
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
|
@ -61,10 +65,10 @@ func shoot():
|
||||||
$GunCooldown.start()
|
$GunCooldown.start()
|
||||||
var b = bullet_scene.instantiate()
|
var b = bullet_scene.instantiate()
|
||||||
get_tree().root.add_child(b)
|
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)
|
var tween = create_tween().set_parallel(false)
|
||||||
tween.tween_property($Ship, "position:y", 1, 0.1).as_relative()
|
tween.tween_property(ship, "position:y", 1, 0.1)
|
||||||
tween.tween_property($Ship, "position:y", 0, 0.05).as_relative()
|
tween.tween_property(ship, "position:y", 0, 0.05)
|
||||||
|
|
||||||
func set_shield(value: int):
|
func set_shield(value: int):
|
||||||
var old_value = shield
|
var old_value = shield
|
||||||
|
|
@ -98,3 +102,10 @@ func _on_damage_taken() -> void:
|
||||||
await get_tree().create_timer(1).timeout
|
await get_tree().create_timer(1).timeout
|
||||||
shader_active = false
|
shader_active = false
|
||||||
$Ship.material.set_shader_parameter("toggle", 0.0)
|
$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)
|
||||||
|
|
|
||||||
1
ui.gd
1
ui.gd
|
|
@ -34,5 +34,6 @@ func _on_initialize_shieldbar():
|
||||||
print("Shieldbar Initializing!")
|
print("Shieldbar Initializing!")
|
||||||
var tween = create_tween()
|
var tween = create_tween()
|
||||||
tween.tween_property(shield_bar, "value", 100, .25).set_trans(Tween.TRANS_LINEAR)
|
tween.tween_property(shield_bar, "value", 100, .25).set_trans(Tween.TRANS_LINEAR)
|
||||||
|
await tween.finished
|
||||||
print_debug("Tweens played!")
|
print_debug("Tweens played!")
|
||||||
return
|
return
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue