スポンサーリンク

味方機衝突処理

衝突パターン

味方機の衝突パターンは次の通りです。


敵機との違いは敵機と衝突すると両機とも爆発、弾丸と衝突するとゲーム終了となることです。これらを実装していきます。

敵機衝突

味方機と敵が衝突した場合は両機とも爆発させるので衝突機の情報が必要です。しかし敵機同士の衝突判定を行っている関数colliTekivsTeki()は、衝突有の時にtrueを返すだけです。そこで戻り値を変更します。

衝突があった場合に衝突した配列のインデックスを返すようにします。

定数として次の内容を定義しました。衝突無しの時は-2。衝突有の時は配列のインデックスが返るので-1以上の数値が返ります。これを判断するための定数「COLLISION_ANYTHING」も定義しています。

敵機描画処理の衝突判定を次のように変更します。

弾丸衝突

弾丸と味方機が衝突した場合はゲーム終了なので衝突した機の情報が必要です。しかし弾丸と敵機の衝突判定を行っている関数colliTeki()も、衝突有の時にtrueを返すだけです。そこで戻り値を変更します。

弾丸処理の衝突判定を次の通り変更します。

実行

赤い味方機の衝突処理を確認します。実行画面へ


登場人物が揃いました。次のステップへ進みます。

ソースコードを掲載します。

タイトルとURLをコピーしました