如何使用createJS控制精灵的动画速度?
当你按下右键和左键时,精灵会在画面中运行。。。我想把帧速率保持在60,但在不改变主游戏帧速率的情况下改变帧的循环速度。
请在此处查看演示。按左右箭头查看。
我以为更改bmp动画频率属性就可以了。。。
bmpAnimation.frequency = 2;
但它没有起作用。。。
还是应该使用jQuery动画?
此外,我注意到每次我按下随机关键点时,动画都会播放1帧,然后返回到第一帧。为什么?
谢谢!
1)frequency
是spriteSheet动画的属性,而不是位图动画本身。
因此,您必须在SpriteSheetData本身中设置freqency(http://www.createjs.com/Docs/EaselJS/classes/SpriteSheet.html)或者,如果你想在运行时设置它,你可以使用:
bmpAnimation.spriteSheet.getAnimation("walk_right").frequency = 2;
还请注意,frequency
将在EaselJS的下一个版本中被弃用,取而代之的是speed
(这是在下一版本中,所以请记住)
2)您当前正在每帧调用gotoAndPlay()
(如果是行走),这意味着您的动画的每帧都将设置为该动画的第一帧,您可以通过使用以下方法轻松避免这种情况:
if ( dir == "right" and bmpAnimation.currentAnimation != "walk_right" ) {
bmpAnimation.gotoAndPlay("walk_right");
}
但更好的方法是在开始行走时只调用该方法一次,然后在停止行走时再次调用。