Я делаю javascript игру, и я не могу заставить врага умереть, когда попал с пулей. Вот часть кода, который я просто не могу понять:Сделать врага умрет при попадании с пулей
for(var i=0;i<enemies.length;i++){
ctx.fillRect(enemies[i].x,enemies[i].y,30,100);
if(player.x+player.width>enemies[i].x && player.x<enemies[i].x+30 && player.y+player.height>enemies[i].y && player.y<enemies[i].y+100){
document.location.reload();
}
}
for (var b=0;b<bullets.length;b++){
ctx.beginPath();
ctx.arc(bullets[b].x,bullets[b].y,2,0,Math.PI*2);
ctx.fill();
bullets[b].x += bullets[b].dx;
if(bullets[b].x>enemies[i].x && bullets[b].x<enemies[i].x+enemies[i].width && bullets[b].y>enemies[i].y && bullets[b].y<enemies[i].y+enemies[i].height){
enemies.splice(i,1);
}
}
Так, я знаю, что проблема в том, что он не может прочитать свойство «х» врагов [я], потому что я Ждут» t помещаем его в врагов для цикла, но если я поместил его туда, он не сможет прочитать свойство «x» пуль [b]. Я застрял на этом два дня и искал все, что мог найти, но ничего не нашел. Я был бы признателен за любую помощь ... Заранее спасибо!
Здесь вам понадобятся вложенные петли –
Да, я пробовал это, но когда враг исчезает, я больше не могу стрелять пулями ... – Vuxer
@Vuxer Тогда *, что это ваша настоящая проблема. Вам нужно проверять каждую пулю против каждого врага, и (если нет лучшей структуры данных и алгоритма обнаружения столкновений), такой способ может быть вложенным циклом. – chepner