質問

私はCocos2D-JSにアニメーションスプライトを作成しようとしていますが、私のCocos2D-iPhoneプロジェクトの中でやったようにスプリットシートを使いたくない:

NSMutableArray *animationFrames = [NSMutableArray array];
    int frameCount = 0;
    for(int i = 1; i <= 9; ++i)
    {
    CCSpriteFrame *spriteFrame = [CCSpriteFrame frameWithImageNamed:[NSString stringWithFormat:@"hero-%d.png",i]];
    [animationFrames addObject:spriteFrame];
    }
NSLog(@"cria sprite com frames");
_player = [CCSprite spriteWithSpriteFrame:animationFrames.firstObject];
.

Cocos2D-JSではこれを行うことができますか?Cocos2D-JSのドキュメントに同じ機能が見つかりませんでした。

役に立ちましたか?

解決

多分以下のコードはそれができるにつれてもう少し複雑です。しかし、それはファイルから働き、スプライトを積み込み、そしてアニメーションをまとめてスプライトのランアクションで使用する(animframeは空の配列です、 "この"はCClayerです)。

var str = "";
for (var i = 1; i < 9; i++) {
    str = "mosquito_fly" + (i < 10 ? ("0" + i) : i) + ".png";
    var texture = cc.textureCache.addImage("res/Murbiks/"+str);
    var spriteFrame = cc.SpriteFrame.create(texture,cc.rect(0,0,96,96));
    animFrames.push(spriteFrame);
}

var animation = cc.Animation.create(animFrames, 0.06+Math.random()*0.01, 10);
var animate = this.animateMostafa = cc.Animate.create(animation);

// Create sprite and set attributes
mostafa = cc.Sprite.create(res.Mostafa_single_png);        
mostafa.attr({
    x: 0,
    y: 0,
    scale: 0.60+Math.random()*0.3,
    rotation: 0
});
this.addChild(mostafa, 0);
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top