ボスと自機の当たり判定にて発生したバグ

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kai

ボスと自機の当たり判定にて発生したバグ

#1

投稿記事 by kai » 16年前

改造龍神録でボスと自機が接触したときの当たり判定をつけました。
ただ、ボスの最初の弾幕は当たり判定は存在し、大丈夫なのですが
次の弾幕以降は当たり判定が消えてしまい、
接触しても自機が死にません。
どうしたら当たり判定が消えないようになるのか
ソースを一部公開するので、どこを直したらいいかアドバイスお願いします。
out.cpp

//自機とボスが当たったかどうかを判定する
int out_judge_boss(){
    //int j;
	if(boss.cnt>0){//敵の軌道が1度でも計算されていたら
        double x=boss.x-ch.x;//敵と自機ショットとの距離
        double y=boss.y-ch.y;

        //敵の当たり判定と自機ショットの当たり判定の合計範囲
        double r=boss_info[boss.knd].range+CRANGE;
      }
}

yu

Re:ボスと自機の当たり判定にて発生したバグ

#2

投稿記事 by yu » 16年前

double r=boss_info[boss.knd].range+CRANGE;

ここで、最初は boss.knd は 0 ですが
弾幕を一つ終わらせると boss.knd はカウントアップされて 1 になりますので
boss_info[1] の値が使われているのが原因だと思います

double r=boss_info[0].range+CRANGE;
で良いかもしれません

kai

Re:ボスと自機の当たり判定にて発生したバグ

#3

投稿記事 by kai » 16年前

boss.kndが原因でしたか・・
解説付きのアドバイスありがとうございます!おかげで直りました!
yuさんありがとうございます!

閉鎖

“C言語何でも質問掲示板” へ戻る