【问题标题】:Using "tick" event delta to create timer but it's running too fast使用“tick”事件增量创建计时器,但运行速度太快
【发布时间】: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


【解决方案1】:

解决了。多么愚蠢的错误!所以,我在另一个地方初始化了ticker,这意味着它被调用了两次,因此我的计时器显示速度加倍

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    相关资源
    最近更新 更多