【问题标题】:Control sprite animation speed控制精灵动画速度
【发布时间】:2013-08-13 05:04:09
【问题描述】:

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

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

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

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

bmpAnimation.frequency = 2;

但它没有用......

或者我应该使用jQuery animation

另外,我注意到每次我按下随机键时,动画播放一帧然后回到第一帧。这是为什么呢?

谢谢!

【问题讨论】:

    标签: javascript animation sprite createjs


    【解决方案1】:

    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(这是在下一个版本中,所以请记住一些事情)

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-20
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2019-02-14
      • 2011-12-01
      相关资源
      最近更新 更多