我正在制作一个基本的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 :)');
}
}
}
}
如何比较子弹和敌人的解析顶级样式值?每个子弹都在检查敌人对象顶部值的数量,以查看它是否等于子弹最高值,但它不起作用。我怎么能以更有效的方式做到这一点?