更新数字变量但获得NaN

时间:2014-02-11 14:21:53

标签: javascript canvas

我正在尝试更新canvas中对象的位置,但当我尝试将dt添加到该位置时,我只获得NaN。如果我尝试控制台日志我得到NaN和一些随机数。 即使我尝试使用0初始化的简单变量,我也会获得相同的NaN内容

function update(dt) {
    player.pos[0] += dt;
    player.pos[1] += dt;
    gameTime += dt;
    console.log(gameTime + " " + dt);
}

jsfiddle

2 个答案:

答案 0 :(得分:1)

非常fisrt,你声明变量var lastTime;而没有给出任何默认值,我认为应该声明这样的东西。

var lastTime = 0;

当您未向lastTime

分配任何数值时,问题出现在此行中
var dt = (now - lastTime) / 1000.0;

答案 1 :(得分:0)

问题在于lastTime变量;您在算术运算中使用它而不首先初始化它。

试试这个 http://jsfiddle.net/NHmDa/1/