控制精灵动画速度



如何使用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");
}

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

最新更新