控制精灵动画速度

时间:2013-08-11 23:09:04

标签: javascript animation sprite createjs

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

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

See a demo here.按向右和向左箭头查看。

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

bmpAnimation.frequency = 2;

但它没有用......

或者我应该使用jQuery animation吗?

同样,我注意到每次点击随机键时,动画会播放1帧然后返回第1帧。那是为什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

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

请注意,frequency将在下一版本的EaselJS中弃用,而不是speed(这是在NEXT版本中,所以只需要记住一些事情)< / p>

2)您目前正在调用gotoAndPlay()每一帧(如果走路),这意味着您的动画将被设置为该动画的第一帧的每一帧,您可以轻松通过使用类似的东西来避免这种情况:

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

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

相关问题