如何使用create JS控制精灵的动画速度?
当你向右和向左按下时,精灵将穿过帧...我想将fps保持在60,但是改变帧的循环速度而不改变主游戏的FPS速率。
See a demo here.按向右和向左箭头查看。
我认为改变bmp动画频率属性可以解决问题......
bmpAnimation.frequency = 2;
但它没有用......
或者我应该使用jQuery animation吗?
同样,我注意到每次点击随机键时,动画会播放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");
}
但更好的方法只会在您开始行走时调用该方法,然后在您停止行走时再调用该方法。