たびたびお世話になっております。
サンプルを参考にしつつ敵の弾まで実装できたわけですがその際の処理で敵弾発射中にプレイヤー側が攻撃を開始すると敵が消滅しているのにもかかわらずタイムラグが発生して消滅した敵の付近から残りの弾だけが発射されています。これを解消したいのですがどうすれば良いのでしょうか?
シューティングゲームの敵弾について
Re:シューティングゲームの敵弾について
>敵が消滅しているのにもかかわらずタイムラグが発生して消滅した
>敵の付近から残りの弾だけが発射されています
どういうソースを書かれているのかわからないので、正確には答えられませんが、
敵が死んでいるかどうか見分けて、死んでいるなら敵から弾の発射をしなければ
いいのではないでしょうか?
>敵の付近から残りの弾だけが発射されています
どういうソースを書かれているのかわからないので、正確には答えられませんが、
敵が死んでいるかどうか見分けて、死んでいるなら敵から弾の発射をしなければ
いいのではないでしょうか?
Re:シューティングゲームの敵弾について
回答誠にありがとうございます。
敵弾のソースはここのサンプルプログラムと現在の所同一です。
フラグで死んでいるならファルス、生きているならトルーといった感じで指定をしたいのですが細かいところが不明でして。
敵弾のソースはここのサンプルプログラムと現在の所同一です。
フラグで死んでいるならファルス、生きているならトルーといった感じで指定をしたいのですが細かいところが不明でして。
Re:シューティングゲームの敵弾について
ざっくりとサンプルプログラムを修正してみました。
http://up.img5.net/index.html
up9070.zip
です。
このプログラム構造からすると、一番簡単な方法は
弾の構造体に発射したエネミーの番号を入れて(構造体のメンバに enemy_idを追加)、
弾の発射開始処理をするところで、そのエネミーの番号からエネミーが生きているかどうかを
調べて、発射をするかどうか決めます。
一応その処理は IsAliveEnemy()という関数にしてあります。
オリジナルとの差分は添付の pngファイルを参照してください。
http://up.img5.net/index.html
up9070.zip
です。
このプログラム構造からすると、一番簡単な方法は
弾の構造体に発射したエネミーの番号を入れて(構造体のメンバに enemy_idを追加)、
弾の発射開始処理をするところで、そのエネミーの番号からエネミーが生きているかどうかを
調べて、発射をするかどうか決めます。
一応その処理は IsAliveEnemy()という関数にしてあります。
オリジナルとの差分は添付の pngファイルを参照してください。