比较更改数组中的多个值

时间:2015-01-03 06:23:57

标签: javascript arrays object

我正在制作一个基本的javascript游戏',其中物品(敌人)从集装箱的顶部向下移动,而“船只”#39;射击子弹'在对象。有许多子弹和许多敌人。我将每个敌人对象推入一个数组,Y(顶部)值发生变化并被推入数组并随每次更改而更新。

这是一个将敌人向下推到屏幕上的间隔,并更新其在数组中的_top值。

enemyCoord = {
    _left : parseInt(enemy.style.left, 10),
    _top : enemyTop
}

enemyArray.push(enemyCoord);

var enemyInterval = setInterval(enemyMovement, 7 );

function enemyMovement(){
    enemyTop += 1;
    enemyArray[enemyCount]._top = enemyTop; // enemyCount is unique number given to each enemy object
    enemy.style.top = enemyTop + 'px';

    if (enemyTop >= document.getElementById('gc_1').offsetHeight -20 ) {
        clearInterval(enemyInterval);
        container.removeChild(enemy);
    }   
}

这是子弹运动,我尝试使值符合

function shoot(bullet, topValue) {

    var topValue = parseInt(topValue, 10);
    var bulletTop = topValue;
    var bulletInterval = setInterval(bulletMovement, 7);
    var arrayLength = enemyArray.length;


    function bulletMovement (){
        bulletTop = bulletTop - 1 ;
        bullet.style.top = bulletTop + 'px';
        if (bulletTop <= 20) {
            var container = document.getElementById('gc_1');
            container.removeChild(bullet);
            clearInterval(bulletInterval);
        }


        // This is the part I really need help with! Where the values meet
        for (var i=0;i<arrayLength;i++) {
            if (bulletTop === enemyArray[i]._top) {
                alert('we met :)');
            }
        }
    }
}

如何比较子弹和敌人的解析顶级样式值?每个子弹都在检查敌人对象顶部值的数量,以查看它是否等于子弹最高值,但它不起作用。我怎么能以更有效的方式做到这一点?

0 个答案:

没有答案