ページ 11

シューティングゲームの敵弾について

Posted: 2007年8月21日(火) 11:26
by UN
たびたびお世話になっております。
サンプルを参考にしつつ敵の弾まで実装できたわけですがその際の処理で敵弾発射中にプレイヤー側が攻撃を開始すると敵が消滅しているのにもかかわらずタイムラグが発生して消滅した敵の付近から残りの弾だけが発射されています。これを解消したいのですがどうすれば良いのでしょうか?

Re:シューティングゲームの敵弾について

Posted: 2007年8月21日(火) 16:03
by Justy
敵が消滅しているのにもかかわらずタイムラグが発生して消滅した
敵の付近から残りの弾だけが発射されています
 どういうソースを書かれているのかわからないので、正確には答えられませんが、
敵が死んでいるかどうか見分けて、死んでいるなら敵から弾の発射をしなければ
いいのではないでしょうか?

Re:シューティングゲームの敵弾について

Posted: 2007年8月21日(火) 17:01
by UN
回答誠にありがとうございます。
敵弾のソースはここのサンプルプログラムと現在の所同一です。
フラグで死んでいるならファルス、生きているならトルーといった感じで指定をしたいのですが細かいところが不明でして。

Re:シューティングゲームの敵弾について

Posted: 2007年8月21日(火) 19:00
by Justy
 ざっくりとサンプルプログラムを修正してみました。

http://up.img5.net/index.html
up9070.zip

 です。


 このプログラム構造からすると、一番簡単な方法は
弾の構造体に発射したエネミーの番号を入れて(構造体のメンバに enemy_idを追加)、
弾の発射開始処理をするところで、そのエネミーの番号からエネミーが生きているかどうかを
調べて、発射をするかどうか決めます。

 一応その処理は IsAliveEnemy()という関数にしてあります。


 オリジナルとの差分は添付の pngファイルを参照してください。

Re:シューティングゲームの敵弾について

Posted: 2007年8月21日(火) 19:38
by UN
誠にありがとうございました。
参考にしてみます。