kinecticjs - 如何更改Sprite frameRate

时间:2013-03-19 14:30:31

标签: javascript kineticjs

我有一个Kinetic.Sprite obj:

//create troll obj:
var trollImageObj = new Image();
trollImageObj.onload = function () {
    var troll = new Kinetic.Sprite({
        x: 250,
        y: 40,
        image: trollImageObj,
        animation: 'solid_down',
        animations: animations,
        frameRate: 2
    });
.
.
.

每按一次箭头键,我正在使用troll更改troll.setAnimation(newAnimation);动画(每个箭头键按下不同的动画)。

我也想更改frameRate,但我找不到办法吗? (没有“setFrameRate”) 有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

确实有一种名为setFrameRate的方法(请参阅此处http://kineticjs.com/docs/Kinetic.Sprite.html)。

诀窍是停止精灵,设置新的帧速率和动画,然后再次启动精灵。 使用您提供的代码,必须添加:

   troll.stop();
   troll.setAnimation('newAnimation');
   troll.setFrameRate(10); // 10 as an example
   troll.start();

此代码必须添加到onload回调中。

答案 1 :(得分:0)

好吧,您可以尝试直接访问{config}属性:

  trollImageObj.attrs.frameRate = some number;

但我不认为这会起作用;我认为在创建对象动画后它是不可修改的。

要做的事情是为您的不同动画创建单独的精灵,或者为动画添加/删除动画帧。