画面の横から敵を撃つゲームを作っています。弾丸が移動し、画面の端に到達すると (敵に当たらなかった場合) 取り除かれ、敵に衝突すると敵が取り除かれます。
//------------collision----------------//
if(shot === true){
bulletY = $('.bullet').position().top + 2;
bulletX = $('.bullet').position().left + 2;
$('.enemy').each(function(){
if($('.enemy').hasClass('smallEnemy')){
enemyY = $(this).position().top + 7;
enemyX = $(this).position().left + 7;
if(Math.abs(bulletY - enemyY) <= 9 && Math.abs(bulletX - enemyX) <=9){
$(this).remove();
score = score + 40;
bulletDestroy();
}
}
});
}
ただし、衝突チェックが正しい場合、弾丸はすべての敵を破壊します。これは私が望んでいるものではありません。敵が smallEnemy、medEnemy、または lrgEnemy のいずれかのクラスを持っているかどうかを確認してから、私が持っていると思っていた衝突チェックを実行したいのですが、うまくいかないようです。
また、ゲームは時間が経つにつれて遅れ始めます。誰かがその理由を知っていますか?