【发布时间】:2014-09-18 08:00:50
【问题描述】:
我在 EaselJS 中使用“tick”事件的 delta 属性来创建一个以毫秒为单位的简单计时器。我的代码设置为 60 FPS。当游戏运行时,我在每个滴答之间获得大约 16/17 毫秒 (1000/60 = 16.6667) - 所以我对此很满意。但是,当我将此值附加到我的文本值(从 0 开始)时,它的上升速度比应有的要快得多。我期望平均每秒钟显示 1000 的时间。我的代码(以块为单位)如下(game.js 和 gameInit.js 是单独的文件)。我希望我只是忽略了一些非常简单的事情......
//gameInit.js
createjs.Ticker.setFPS(60);
createjs.Ticker.on("tick", this.onTick, this);
...
//game.js
p.run = function (tickerEvent) {
if (this.gameStarted == true ) {
console.log("TICK ms since last tick = " + Math.floor(tickerEvent.delta)); // returns around 16/17
this.timerTextValue += Math.floor(tickerEvent.delta); //FIXME seems too fast!
this.timerText.text = this.timerTextValue;
}
};
亲切的问候, 丰富
【问题讨论】:
-
是你想念这个配置吗? createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;
-
您好,感谢您的意见,但这并没有什么不同。我已经尝试了所有各种“timingMode”但没有运气
标签: timer easeljs createjs ticker