Triborg-333
@Triborg-333

Как исправить ошибку, (проверка на столкновение) Game?

В консоле так
5d5d556e950f4301141051.png

Столкновение идет, а потом в моменте зависает.
можно как - то пропустить ошибку, или я проверку не правильно пишу ?

//Перебираем массив вражеского корабля.
   for(i in submarin){
	   for(let j = 0; j < ammo.length; j++){
		   //Проверяем, если произошло столкновение, мы уничтожаем корабль.
		   if(Math.abs(submarin[i].x+120-ammo[j].x) < 100 && Math.abs(submarin[i].y+-ammo[j].y)<100){
			   //Эффект взрыва
			   explosion.push({x : submarin[i].x-100, y : submarin[i].y-100})
			   //Удаляем корабл.
			   submarin.splice(i,1);
		   }
	   }
   }


Размер корабля

ctx.drawImage(submarin_enemy, submarin[i].x, submarin[i].y, 200, 100) - 200 на 100

5d5d55d66f846422449788.png
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 2
@cekozaxev
Проверь чему равно submarin[i].x и ammo[j].x (console.log)
Ответ написан
Комментировать
ProgrammerForever
@ProgrammerForever
Учитель, автоэлектрик, программист, музыкант
Сочетание for..in и изменения массива в самом цикле - возможно дело в этом
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 13:31
10000 руб./за проект
19 апр. 2024, в 13:12
35000 руб./за проект
19 апр. 2024, в 13:06
6000 руб./за проект