1

如何使用 create JS 控制精灵的动画速度?

当您按左右键时,精灵将穿过帧......我想将 fps 保持在 60,但在不改变主游戏 FPS 速率的情况下改变帧循环的速度。

在此处查看演示。按左右箭头查看。

我认为更改 bmp 动画频率属性可以解决问题...

bmpAnimation.frequency = 2;

但它没有工作......

还是我应该使用jQuery 动画

另外,我注意到每次我按下随机键时,动画播放一帧然后回到第一帧。这是为什么?

谢谢!

4

1 回答 1

2

1)frequency是 spriteSheet-animation 的属性,而不是 bitmapAnimation 本身。

因此,您必须在 SpriteSheetData 本身(http://www.createjs.com/Docs/EaselJS/classes/SpriteSheet.html)中设置频率,或者如果您想在运行时设置它,您可以使用:

bmpAnimation.spriteSheet.getAnimation("walk_right").frequency = 2;

另请注意,frequency将在下一版本的 EaselJS 中弃用,以支持speed(有点这是在 NEXT 版本中,所以请记住一些事情)

2)您当前正在调用gotoAndPlay()每一帧(如果是行走),这意味着您的动画的每一帧都将设置为该动画的第一帧,您可以通过使用以下方法轻松避免这种情况:

if ( dir == "right" and bmpAnimation.currentAnimation != "walk_right" ) {
    bmpAnimation.gotoAndPlay("walk_right");
}

但更好的方法是仅在您开始步行时调用该方法一次,然后在您停止步行时再次调用该方法。

于 2013-08-12T08:37:29.917 回答