ブラウザで遊べる縦スクロール2Dシューティングゲームです。
講習会向けに、参加者が通常のアプリ開発と同じく「モジュール(クラス)を作成して import する」流れで機能を追加できる構成にしています。
npm install
npm run devsrc/game/playerFeature.ts- 自機移動・自機弾の発射/更新/描画をまとめています
src/game/enemyFeature.ts- 敵出現・敵更新・当たり判定・敵弾の発射/被弾処理をまとめています
src/game/backgroundFeature.ts- 宇宙背景(星の生成/更新/描画)をまとめています
src/game/ShooterGame.tssrc/app/createGameLayout.ts
ShooterGame.ts はゲームループ、入力イベント処理、HUD更新、Canvas描画の土台に限定しています。
- 機能追加は
src/main.tsに import とインスタンス生成を追加して進めます - STEPごとの目安は以下の通りです
new PlayerMovementFeature()new PlayerShootingFeature()new EnemySpawnCollisionFeature()new EnemyShootingFeature()new SpaceBackgroundFeature()
例: 新しい機能を作るときは src/game/xxxFeature.ts を作成し、src/main.ts で import して new XxxFeature() を ShooterGame に渡します。