シューティングゲームの当たり判定
現在directxを用いた(DXライブラリは使わない)インベーダーゲームを作っているのですが、当たり判定の部分がなぜかうまくいきません。自機と敵の弾の当たり判定部分のコードを載せるのでどなたかご享受ください。
//============敵の攻撃========================
if(enemy[rand_atk].tamaflag == 0 && shot_save % 100 == 0 ){
__enemy[rand_atk].tamaflag = 1;
__enemy_atk[rand_atk].x = enemy[rand_atk].x+17;
__enemy_atk[rand_atk].y = enemy[rand_atk].y+17;
}
for(i = 0; i < 11; i++){
__if(enemy[i].tamaflag == 1){
____enemy_atk[i].y+=1;
____if(enemy_atk[i].y >= 480){
______enemy[i].tamaflag = 0;
______enemy_atk[i].y = -20; //画面外へ
____}
____if( ( move.x - 7 < enemy_atk[i].x && move.x + 32 > enemy_atk[i].x ) &&
________( move.y - 13 < enemy_atk[i].y && move.y + 24 > enemy_atk[i].y ) ){
______move.zanki--;
______enemy[i].tamaflag = 0;
______enemy_atk[i].y = -20; //画面外へ
____}
__}
}
move.x,move.yは自機のx,y座標で横32縦24
敵の弾の大きさは横7縦13
rand_atkはrand_atk = timeGetTime() % 11;でランダムに攻撃させようとしています。
お礼
回答いただきまして、ありがとうございます。 参考にさせてもらいます。