私は Cocos2d を初めて使用し、Cocos2d-HTML5 のアニメーションに問題があります。
以下は私のスプライトのコンストラクター関数です。TexturePackerplist
でファイルを生成しました。アニメーションを再生して無限に繰り返したいです。次の方法でアニメーションを作成することで、一度再生できました。
var animation = new cc.Animation(frames, 0.2);
しかし、ループ数を3番目のパラメーターとして渡すと、エラーが発生しますUncaught TypeError: Object #<Class> has no method 'getDelayUnits'
ctor: function (position) {
this._super();
var cache = cc.SpriteFrameCache.getInstance();
cache.addSpriteFrames(s_dogList, s_Dog);
var frames = [];
for (var i = 1; i <= this.NUMBER_OF_FRAMES; i++) {
var spriteFrame = cache.getSpriteFrame('dog' + i + '.png');
frames.push(spriteFrame);
};
this.initWithSpriteFrame(frames[0]);
var animation = cc.Animation.create(frames, 0.2, 100);
var animate = cc.Animate.create(animation);
this.runAction(animate);
}
コードを調査したところ、3 つのパラメーター (パラメーター付き) を使用してアニメーションを作成する場合、各フレームをクラスloops
のインスタンスにする必要があることがわかりました。AnimationFrame
しかし、2 つのパラメーターのみを渡す場合、フレームはSpriteFrame
クラスのインスタンスである必要があります。を使用してアニメーションを作成しAnimationFrame
、それを無限に繰り返す方法は?