Надеюсь, у вас все хорошо. Я новичок в JavaScript и работаю над созданием игры. Корабль стреляет на инопланетные космические корабли, но есть загвоздка. Функция уничтожения отлично работает, за исключением случаев, когда это не так. Если я стреляю из своего арсенала лазеров, корабли чудесным образом выживают заграждением, пока не ударят последний лазер. Мне нужна помощь, запускающая функцию уничтожения, когда инопланетные корабли касаются любого лазера. Ниже приведен соответствующий код (я думаю), и есть ссылка на jsfiddle. http://jsfiddle.net/235mX/js canvas стрельба бесполезным лазером
function drawLaser(){
laserList.forEach(function(Laser){
Laser.y = Laser.y - 1;
Ly = Laser.y;
Lx = Laser.x;
ctx.beginPath();
ctx.fillStyle = Laser.color;
ctx.arc(Laser.x, Laser.y, 10, 2 * Math.PI, false);
ctx.fill();
ctx.closePath();
ctx.beginPath();
ctx.fillStyle = 'white';
ctx.arc(Laser.x, Laser.y + 10, 10, 2 * Math.PI, false);
ctx.fill();
ctx.closePath();
});
}
if(Lx >= Ax - 30 && Lx < Ax + 30 && Ly < Ay + 30 && Ly > Ay + 10){
destroyX = Lx;
destroyY = Ly;
enemy1 = 0;
destroy();
}
if(Lx >= Ax + 100 - 30 && Lx < Ax + 100 + 30 && Ly < Ay + 30 && Ly > Ay + 10){
destroyX = Lx;
destroyY = Ly;
enemy2 = 0;
destroy();
}
if(Lx >= Ax + 200 - 30 && Lx < Ax + 200 + 30 && Ly < Ay + 30 && Ly > Ay + 10){
destroyX = Lx;
destroyY = Ly;
enemy3 = 0;
destroy();
}
if(Lx >= Ax + 300 - 30 && Lx < Ax + 300 + 30 && Ly < Ay + 30 && Ly > Ay + 10){
destroyX = Lx;
destroyY = Ly;
enemy4 = 0;
destroy();
}
jsfiddle, похоже, не работает для меня. a, d и пробел, похоже, ничего не делают. Я использую Firefox Stable в Windows. – Philipp