停止变量在画布中递减

时间:2013-02-09 20:15:19

标签: javascript variables canvas

我正在制作一个游戏,我有一个基于时间的简单点系统,当水平开始时,日期存储在一个名为start的变量中(我有几个级别),然后当级别有结束它将另一个日期存储在名为stop的变量中。然后在名为elapsed的变量中计算经过的时间。最后,这些点显示在名为points的最终变量中。起始值为300000,每毫秒减少,5分钟后达到零(这是一个短暂的水平)。我唯一的问题是,一旦水平结束并显示点数,积分就会继续下降。我之前遇到过类似的问题,但我似乎总是找到一种解决方法,因为价值通常很小。相关代码如下:
start = new Date().getTime();
stop = new Date().getTime();
elapsed = stop - start;
points = 300000 - elapsed;

所有变量都在全局之前声明。在某种程度上,它是预期的,因为points变量每秒更新1000次。那么,有没有办法阻止它减少?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在分配新职位之前,请检查该值。

您应该使用global前缀:var

window window.points
start = new Date().getTime();
stop = new Date().getTime();
var elapsed = stop - start;
if(elapsed < 300000)
    points = 300000 - elapsed;