僕は今、アクションゲームを作っています。
それで、自キャラにライフを作りたいと思って、以下の文を書きました。
struct Enemy{ int life; //生命力 int temp1; //自由に使える変数 //判定用変数 int hantei; //自由に使える変数 }; const int HANTEI = 3000; //敵と自キャラの判定間隔 int jiki_life; //前の自キャラ生命力 //敵と自キャラの当たり判定 Ball2D m = { g_jikipos, 18 }; g_jiki_life = 2; while(ProcessMessage == 0 && g_jiki_life > jiki_life){ if ( g_enemies.hantei < (GetNowCount() + HANTEI) ){ if (HitTestBallAndBall( b, m ) == TRUE ){ g_jiki_life--; } } } if (g_jiki_life == 0){ return TRUE; }
ですが、当たり判定がなくなったり、1回当たったらすぐゲームオーバーになってしまいます。
なぜそうなるか、どこが間違っているかを教えてください。