敵キャラから弾を出す

敵キャラから一定時間ごとに弾を発射させる方法を紹介する。

敵キャラ用の弾(画像ファイル

考え方

敵キャラから発射される弾(?)は、プログラム的に考えると大きく2種類に分類できる。

  1. 自ショットで破壊できる
  2. 自ショットで破壊できない

2つの種類の違いは、自ショットとの当たり判定を行うかどうかであり、次のように考えることができる。

1.自ショットで破壊できる弾

2.自ショットで破壊できない弾

どちらの場合でも、敵ショット用の初期化関数と、移動関数を用意し、敵キャラ出現後一定時間ごとに敵ショットを発生させるだけである。敵ショットのデータを敵キャラと同じ配列に入れるか、別の配列に入れるかの違いだけであるため、プログラム的には簡単である。

確認1

ここまでこれば、もう自分で敵の弾くらいは発生させられるだろう。1の方法(敵キャラと同じく自ショットで消滅させられる)を利用し、敵キャラそれぞれから、1秒ごとに弾を発射させなさい。

確認2

確認1で作成したプログラムを改造し、2の方法(敵キャラとは別の配列で管理し、自ショットでは消滅させられない)で作成しなさい。


BACK(自キャラから弾を出す) NEXT(キャラ別移動処理に関数ポインタを使う)