我有一个使用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类添加了一些新方法,所以我想知道他们是否已经摆弄旧的做事方式。
有什么想法吗?需要更多代码吗?
提前致谢!
答案 0 :(得分:1)
发现问题!
随着EaselJs的新更新,他们将SpiteSheet的“频率”属性替换为“速度”属性。因此,在我使用“4”作为我的“频率”之前;使动画速度慢4倍,现在速度低于“速度”,动画速度提高4倍!
无论如何,谢谢你们:)