2014-04-13 4 views
0

Я пытаюсь создать анимированный спрайт в cocos2d-JS, но я не хочу использовать spritesheet как я сделал в моем cocos2d-iphone проекта:анимированные спрайты без spritesheet

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.

+0

анимации и спрайты - это две отдельные концепции, вы можете использовать их вместе, но это не обязательно. Вы спрашиваете, как играть анимацию спрайтов? – LearnCocos2D

ответ

0

Возможно, следующий код немного сложнее, чем мог бы быть. Но он работает и загружает спрайты из файлов и объединяет анимацию и использует ее в runAction для спрайта (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); 
Смежные вопросы