Array.join没有做它应该做的事情

时间:2014-10-13 14:43:51

标签: javascript jquery

我需要有一个存储所有障碍的阵列和我的碰撞检测我 可以使用带有(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())));
}

这是链接。 http://jsfiddle.net/38bod36e/63/

0 个答案:

没有答案