如何使用 create JS 控制精灵的动画速度?
当您按左右键时,精灵将穿过帧......我想将 fps 保持在 60,但在不改变主游戏 FPS 速率的情况下改变帧循环的速度。
在此处查看演示。按左右箭头查看。
我认为更改 bmp 动画频率属性可以解决问题...
bmpAnimation.frequency = 2;
但它没有工作......
还是我应该使用jQuery 动画?
另外,我注意到每次我按下随机键时,动画播放一帧然后回到第一帧。这是为什么?
谢谢!
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");
}
但更好的方法是仅在您开始步行时调用该方法一次,然后在您停止步行时再次调用该方法。