Appearance
第03回 敵の出現と移動
4 / 4 敵をゲームループへ接続する
このステップの目的
EnemyManagerをゲームの更新と描画へ接続し、プレイヤー弾と敵を同じ画面で確認する
GameからManagerへ依頼する
GameはEnemyManagerを所有し、更新と描画を依頼します。 プレイヤー弾の処理はそのまま残し、敵の追加によって既存の弾の構造を変更しません。
Game.cppcpp
void Game::Update(float deltaTime)
{
player.Update(input, deltaTime);
playerShots.Update(deltaTime);
enemies.Update(deltaTime);
}
void Game::Draw() const
{
enemies.Draw(images);
player.Draw(images);
playerShots.Draw(images);
}この時点では、弾と敵はまだ接触しません。 命中判定は次回、すでにあるPlayerShotとEnemyの命中範囲を使って追加します。
動作確認
- 一定間隔で敵が出現することを確認する。
- 敵が画面上端から下へ進むことを確認する。
- 直進する敵と横へ揺れる敵を見分ける。
- プレイヤーを動かし、既存の弾がこれまでどおり発射できることを確認する。
チェックリスト
-
Gameが敵の個体を直接操作せず、EnemyManagerへ依頼している - 第02回のプレイヤー弾の表示と操作が変わっていない
- 敵の出現、移動、停止、再利用を確認できる
完成状態を保存したら、第04回の開始プロジェクトと見比べます。 EnemyとEnemyManager、Gameの変更箇所を確認し、「次回は命中判定を足す」と説明できれば十分です。