diff --git a/scenes/event_bus.gd b/scenes/event_bus.gd index 55c37f7..b87a513 100644 --- a/scenes/event_bus.gd +++ b/scenes/event_bus.gd @@ -8,6 +8,6 @@ signal enemy_died() signal enemy_hit(value: int) signal initialize_shieldbar() signal start_game() -signal goose_talk() +signal goose_talk(frame_index: int) @warning_ignore_restore("unused_signal") # put any future signals you add between the two ignore annotations diff --git a/scenes/goose.gd b/scenes/goose.gd index 002038e..1d29420 100644 --- a/scenes/goose.gd +++ b/scenes/goose.gd @@ -5,18 +5,18 @@ func _ready() -> void: EventBus.goose_talk.connect(_on_goose_talk) -func _on_goose_talk(): +func _on_goose_talk(frame_index: int): print("QUACK") - self.show() + self.show() + $DapperGoose/Bubble.set_frame(frame_index) var tween = create_tween() tween.tween_property(self, "position:x", position.x - 50, .5).set_ease(tween.EASE_OUT) await tween.finished $DapperGoose/Bubble.show() await get_tree().create_timer(3).timeout $DapperGoose/Bubble.hide() - + tween = create_tween() tween.tween_property(self, "position:x", position.x + 50, .5).set_ease(tween.EASE_IN) await tween.finished self.hide() - diff --git a/scenes/goose.tscn b/scenes/goose.tscn index 78019e3..8b22310 100644 --- a/scenes/goose.tscn +++ b/scenes/goose.tscn @@ -14,9 +14,9 @@ script = ExtResource("1_wf0t2") texture = ExtResource("1_wo8sg") [node name="Bubble" type="Sprite2D" parent="DapperGoose" unique_id=2012258473] -visible = false position = Vector2(-108, -21) texture = ExtResource("3_g7ad0") +hframes = 3 [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1718121082] position = Vector2(-18.5, 1) diff --git a/scenes/main.gd b/scenes/main.gd index e70f498..3b97277 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -104,16 +104,20 @@ func new_game(): # Tell the shield to recharge. # EventBus.initialize_shieldbar.emit() # await EventBus.initialize_shieldbar - + # instantiate the Player # await get_tree().create_timer(1).timeout instance = player.instantiate() add_child(instance) $Player.start() + + # Do some DapperGoose talk + await get_tree().create_timer(1.5).timeout + EventBus.goose_talk.emit(2) # Tell the enemies to spawn! #await get_tree().create_timer(.5).timeout - $Wave.spawn_enemies() + $Wave.spawn_enemies() # Tell the game we're playing. diff --git a/scenes/player.gd b/scenes/player.gd index e22c272..1e4c85c 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -42,7 +42,7 @@ func start(): $Ship.show() position = Vector2(screensize.x / 2, screensize.y) var tween = create_tween() - tween.tween_property(self, "position:y", 48 * -1, .75).as_relative() + tween.tween_property(self, "position:y", 120 * -1, 1).as_relative() await tween.finished $GunCooldown.wait_time = cooldown set_shield(max_shield) diff --git a/sprites/bubble.png b/sprites/bubble.png index f9809b5..f6c82fe 100644 Binary files a/sprites/bubble.png and b/sprites/bubble.png differ diff --git a/wave.gd b/wave.gd index 1f36bfe..72f0d21 100644 --- a/wave.gd +++ b/wave.gd @@ -34,7 +34,6 @@ func _on_enemy_died(): func update_enemy_aggression(low,high): var nodes = get_tree().get_nodes_in_group("enemies") - for node in nodes: if node is Area2D: node.enemy_move_aggression = randf_range(low,high) @@ -48,7 +47,7 @@ func wave_status(): wave_complete = false else: - EventBus.goose_talk.emit() + EventBus.goose_talk.emit(1) wave_initialize() wave_complete = true @@ -61,11 +60,11 @@ func enemy_aggression_check(): if enemy_count == ROWS * COLS / 2: print_debug("Enemy count is 50%") update_enemy_aggression(2,10) - EventBus.goose_talk.emit() + EventBus.goose_talk.emit(0) if enemy_count == ROWS * COLS / 4: print_debug("Enemy count is 25%") update_enemy_aggression(1,1) - +