首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >函数不能正常工作

函数不能正常工作
EN

Stack Overflow用户
提问于 2013-04-24 19:10:04
回答 1查看 73关注 0票数 1

当敌人发射激光时,我的功能有问题。我在这上面做了这么多的调试,我就是弄不明白为什么它不能工作。

当我有这样的代码时,它会跳到我的边界的顶部,但不会到底部( playArea拼写错误,因为我从一开始就做了)

代码语言:javascript
运行
复制
for (var i = 0; i < enemylasers.length; i++){
        if(parseInt(enemylasers[i][0].style.top) > playArea.topBoundry){
            enemylasers[i][1] -= laserSpeed;
            enemylasers[i][0].style.top = enemylasers[i][1] + 'px';
        }else{
            playArea.removeChild(enemylasers[i][0]);
            enemylasers.splice(i,1);
        }
    }

当我将一些代码更改为我认为可能正确的代码时,它并不正确,也不会使激光发射到任何地方。下面是我将其更改为的内容。

代码语言:javascript
运行
复制
for (var i = 0; i < enemylasers.length; i++){
        if(parseInt(enemylasers[i][0].style.top) > playArea.bottomBoundry){
            enemylasers[i][1] += laserSpeed;
            enemylasers[i][0].style.top = enemylasers[i][1] + 'px';
        }else{
            playArea.removeChild(enemylasers[i][0]);
            enemylasers.splice(i,1);
        }
    }

这就是创造我的敌人激光的原因

代码语言:javascript
运行
复制
function createenemylaser(){
    if(enemylasers.length < enemymaxlasers){ 
            var laserpush = Math.floor(Math.random()*enemies.length);
            var laser = enemylaser();
            laser.classList.add('enemylaser');
            laser.style.top = enemies[laserpush][1] + 'px';
            laser.style.left = parseInt(enemies[laserpush][0].offsetLeft) +'px';
            playArea.appendChild(laser);
            enemylasers.push([laser, enemies[laserpush][1]]);
    }
}
    setInterval(createenemylaser, 2000);

这是我的敌人激光阵列

代码语言:javascript
运行
复制
enemylasers=[],
    enemylaserspeed = 5,
    enemymaxlasers= 8,

这就是为我的敌人激光创建div的地方

代码语言:javascript
运行
复制
function enemylaser(){
    return document.createElement('div');
}

我希望有人能帮助我,我在javascript方面没有那么多经验,但我知道安静的比特。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 20:58:02

由于@Chips_100建议我在这里的评论区发布我的解决方案,下面是:

您需要将parseInt(enemylasers[i][0].style.top) > playArea.bottomBoundry更改为parseInt(enemylasers[i][0].style.top) < playArea.bottomBoundry,因为您已经颠倒了您的激光行进的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16190429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档