首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环不起作用

循环不起作用
EN

Stack Overflow用户
提问于 2017-05-30 01:50:47
回答 2查看 44关注 0票数 0

基本增量游戏javascript尝试blah blah http://igt.bitballoon.com/

代码顶部的计时器变量

代码语言:javascript
复制
var Timer = window.setInterval(function(){Tick()}, 1000);

我的滴答函数

代码语言:javascript
复制
function Tick() {
    var persec = game.money;
    for (var i = 0; i < buildings.length; i++){
    persec += buildings[i].PerSec * buildings[i].Qty
}

我想要工作的函数,但是它不是

代码语言:javascript
复制
function Tick() {
    var persec = game.money;
    for (var i = 0; i < buildings.length; i++){
        persec += buildings[i].PerSec * buildings[i].Qty
    }
document.getElementById("money").innerHTML = persec;
}

问题是:当你购买一栋建筑时,它会改变页面上的persec值,而且它只会将persec值添加到您的钱中一次。它不会像它应该的那样重复每一个滴答。我让它工作是因为有一些庞大的代码,但我不想为每栋楼增加一个新的行。我更喜欢像for循环这样的东西。因此,任何帮助都将不胜感激。

编辑:网站不是最新的,对不起。我没有更新它,因为我希望它先起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-30 02:08:07

原创

代码语言:javascript
复制
function Tick() {
    game.money += buildings[0].Qty * buildings[0].PerSec;
    game.money += buildings[1].Qty * buildings[1].PerSec;
    document.getElementById("money").innerHTML = game.money
}

应该是

代码语言:javascript
复制
function Tick() {
    buildings.forEach(function(building) {
        game.money += building.Qty * building.PerSec;  
    });
    document.getElementById("money").innerHTML = game.money;
}
票数 0
EN

Stack Overflow用户

发布于 2017-05-30 02:03:42

也许你想要的是:而不是

代码语言:javascript
复制
persec += buildings[i].PerSec * buildings[i].Qty

你应该用

代码语言:javascript
复制
game.money += buildings[i].PerSec * buildings[i].Qty

您现在只是在更新局部变量persec

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

https://stackoverflow.com/questions/44252269

复制
相关文章

相似问题

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