较新的EaselJS版本更新打破了动画

时间:2013-11-28 00:17:20

标签: javascript jquery animation easeljs createjs

我有一个使用BitmapAnimation的工作动画,但是在更新的版本0.7.0中,这个类已被Sprite类取代并且现在已被删除,我正在将我的代码更新到新类,但似乎存在问题用我的动画。

在旧版本中,动画会播放我要求的任何动画,例如:

playerAnimation[i].gotoAndPlay("idle");

但现在看起来他们似乎是口吃。仿佛快速地重复帧,或者在每个滴答处跳回第一帧。

我认为这可能与此版本中更新的自动收报机有关。我的代码唯一的变化是:

之前(BitmapAnimation和旧Tick):

...
playerAnimation[i] = new createjs.BitmapAnimation(spriteSheet[i]);
...
createjs.Ticker.addListener(tick);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(60);
...
function tick() {
...
}

更改后(将BitmapAnimation替换为Sprite,并将Tick函数更改为新版本):

...
function handleEvent(event) {
    if (event.type == "tick") {
        this.tick(event);
    }
}
...
playerAnimation[i] = new createjs.Sprite(spriteSheet[i]);
...
createjs.Ticker.addEventListener('tick', tick);
createjs.Ticker.useRAF = true;
createjs.Ticker.setFPS(60);
...
function tick(event){
...
}

这些字面上是对代码进行的唯一更改。我甚至将所有其他代码复制并粘贴到新文件中,除非必要的更改,以防我进行任何无意的更改。

我知道Sprite类添加了一些新方法,所以我想知道他们是否已经摆弄旧的做事方式。

有什么想法吗?需要更多代码吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

发现问题!

随着EaselJs的新更新,他们将SpiteSheet的“频率”属性替换为“速度”属性。因此,在我使用“4”作为我的“频率”之前;使动画速度慢4倍,现在速度低于“速度”,动画速度提高4倍!

无论如何,谢谢你们:)