В настоящее время я работаю над основной игрой html и javascript и столкнулся с дилеммой. Когда мои пули (которые хранятся в виде массива) сталкиваются с myObstacles (также хранятся в виде массива), иногда препятствие, с которым я сталкиваюсь, соединяется, а в других случаях - множественное. Вот мой код столкновения при столкновении
this.crashWith = function(otherobj) {
var myleft = this.x;
var myright = this.x + (this.width);
var mytop = this.y;
var mybottom = this.y + (this.height);
var otherleft = otherobj.x;
var otherright = otherobj.x + (otherobj.width);
var othertop = otherobj.y;
var otherbottom = otherobj.y + (otherobj.height);
var crash = true;
if ((mybottom < othertop) || (mytop > otherbottom) || (myright <
otherleft) || (myleft > otherright)) {
crash = false;
}
return crash;
}
Вот как я соединяю препятствие, когда пуля поражает врага
for (y = 0; y < myObstacles.length; y += 1) {
if (myGamePiece.crashWith(myObstacles[y])) {
var ctx = myGameArea.context;
ctx.fillText("Game Over", 150, 150);
myGameArea.stop();
}
for (i = 0; i < bullets.length; i += 1) {
if(myObstacles[y].crashWith(bullets[i])) {
myObstacles.splice(myObstacles[y], 1);
}
}
}
Была бы очень признательна за помощь.
Чтобы увидеть полный код, я сделал github репозиторий