Създадох тази функция, за да мога да проверя дали два обекта се докосват в модел на сблъсък на AABB, но не мога да разбера съвсем логиката или по-скоро защо не работи.
function hitTest(x1, y1, w1, h1, x2, y2, w2, h2) {
//x1, y1 = x and y coordinates of object 1
for (var x = 0; x < AliLength; x++) {
x1 = AliensArrR1[x].getX();
y1 = AliensArrR1[x].getY();
}
//w1, h1 = width and height of object 1
w1 = 50;
h1 = 18;
//x2, y2 = x and y coordinates of object 2 (usually midpt)
for (var x = 0; x < bullets.length; x++) {
x2 = bullets[x].getX();
y2 = bullets[x].getX();
}
// w2, h2 = width and height of object 2
w2 = 3;
h2 = 13;
if ((x1 <= x2 && x1 + w1 >= x2) &&
(y1 <= y2 && y1 + h1 >= y2) && (x2 <= x1 && x2 + w2) && (y2 <= y2 && y2 + h2))
alert("Hit");
else
return false;
};
Има 12 изображения на всеки ред и масив за всеки, в момента не се притеснявам за производителността, просто искам да съм сигурен, че мога да го накарам да работи върху едно и да направя логиката правилна.
Всички предложения се оценяват високо!
редактиране: Опитвам се да проверя дали един обект с ширина 18 и 50 някога се припокрива с другия ми обект, който има ширина 3 и височина 13. Те никога не променят промяната само на оста x и y. Нов съм в правенето на откриване на сблъсък и след няколко пробвания как да приложа логиката на проверка на x и y на всеки, за да видя дали се пресичат. Мислех, че ще помоля за малко помощ, тъй като очевидно се насочвам в грешната посока.
![Това се опитвам да постигна]:http://uploads.gamedev.net/monthly_06_2011/ccs-8549-0-64600400-1307074262.gif
alert()
. В JS само имената на конструкторските функции трябва да започват с главна буква. - person Teemu   schedule 12.04.2014Alert()
ще ви даде референтна грешка... - person Teemu   schedule 12.04.2014for
стойностите x1 и y1 ще бъдат последният елемент в масива ali, същото важи и за цикъла x2 y2. - person Tom Roggero   schedule 12.04.2014x
иy
, дори променливите на цикъла, и само добавянето на числа към него може да направи дори малък код като този наистина труден за четене. - person Ingo Bürk   schedule 12.04.2014x1 <= x2
иx2 <= x1
иy2 <= y2
? Какво постигаy2 + h2
? Предлагам да разбиете вашите условия и да изясните какво трябва да правят - person wongcode   schedule 12.04.2014