我需要有一个存储所有障碍的阵列和我的碰撞检测我 可以使用带有(if / else)语句的数组,所以我决定使用(.join)函数,但是 由于某种原因,它只能检测到第一个obj何时触及并完全忽略了 第二个obj,这是我正在使用的代码,
var myArrayOne = ["#secondObs", "#firstObs" , "#thirdObs"];
var ObstacleLvlOne = $(myArrayOne.join(', '));
function handleCollisons() {
if (collides(ObstacleLvlOne, $('#player'))) {
$('#levelOne').stop();
$('#player').css('border', 'solid 1px yellow');
}
}
function collides(a, b) {
var aTop = a.offset().top;
var aLeft = a.offset().left;
var bTop = b.offset().top;
var bLeft = b.offset().left;
return !(
((aTop + a.height()) < (bTop)) || (aTop > (bTop + b.height())) || ((aLeft + a.width()) < bLeft) || (aLeft > (bLeft + b.width())));
}