0

私は Kinetic.Sprite オブジェクトを持っています:

//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」はありません)それを行う方法はありますか?

4

2 に答える 2

1

実際に呼び出されるメソッドがありますsetFrameRate(こちらhttp://kineticjs.com/docs/Kinetic.Sprite.htmlを参照)。

コツは、スプライトを停止し、新しいフレーム レートとアニメーションを設定してから、スプライトを再開することです。あなたが提供したコードを使用して、これを追加する必要があります:

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

このコードは、onloadコールバック内に追加する必要があります。

于 2013-12-28T19:54:18.987 に答える
0

{config} 属性に直接アクセスしてみてください:

  trollImageObj.attrs.frameRate = some number;

しかし、それはうまくいかないと思います。オブジェクト アニメーションは作成後に変更できないと思います。

やるべきことは、さまざまなアニメーション用に個別のスプライトを作成するか、アニメーションにアニメーション フレームを追加/削除することです。

于 2013-03-19T15:52:52.173 に答える