当たり判定で

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

当たり判定で

#1

投稿記事 by okusi » 15年前

Dxlibでシューティングゲームを作っています。

自機のHPを1000にしていて敵が自機に当たったら敵のフラグを0にして自機のHPを100減らそうとしています。
しかしHPの画像を表示させようとすると一気にHPが減ってしまいます。(敵の画像は消えてくれます)

for(i=0;i<ENEMY_MAX;i++){
  if(当たり){
enemy_flag=0;
ship_hp -= 100;
}
}

for(z=1;z<=10;z++){
if(ship_hp==100*z){
DrawGraph( 428, 434 ,img_hp[z],FALSE);
}
}

HPが1000のときの画像がimg_hp[10]
HPが900のときの画像がimg_hp[9]
というようになっていてHPが0のときは考えていません。

zはほかのところでは使っていない変数です。

なぜちゃんとと表示されないのでしょうか?教えてください。

DVDM

Re:当たり判定で

#2

投稿記事 by DVDM » 15年前

>>okusiさん
[color=gray>>if(当たり){[/color]
ここの条件式が良く解らないので憶測になりますが、
当たり続けている間 ship_hpが -100され続けているのではないでしょうか。

if( (自機と敵の当たり判定) && (enemy_flag!=0) )
条件式をこのように変えてみるとうまくいく可能性があります。

okusi

Re:当たり判定で

#3

投稿記事 by okusi » 15年前

うまくいきました

ありがとうございますm(_ _)m

閉鎖

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