Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I would like to know how people usually save the animations in order to load them easily in Cocos2d with as few hard-code as possible.

E.G. The solution I thought of is to have one plist file containing information about each frame, and the second plist to contain information about each of the animation(name of the animation, which frames to play, and the delay probably).

If this is the correct solution, how can I generate such plist files for spritesheet automatically?

share|improve this question
2  
codeandweb.com/texturepacker that creates sprite sheets for you and you can export with a plist. There are a few more like zwoptex zwopple.com/zwoptex they are both good tool IMO –  Savlon Apr 6 '13 at 20:20

2 Answers 2

Personally I use Texture packer, it works great and is pretty straight forward.

share|improve this answer
    
This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. –  Byte56 Apr 8 '13 at 3:50

This is the most basic code of creating and playing an animation in cocos2d:

auto cacher = SpriteFrameCache::getInstance();
cacher->addSpriteFramesWithFile("emad-running.plist");
Sprite* someSprite = Sprite::create();

// load all the animation frames into an array
Vector<SpriteFrame*> frames;
for (int i = 0; i <= 10; i++)
{
    stringstream ss;
    ss << "run_" << i << ".png";
    frames.pushBack(cacher->getSpriteFrameByName(ss.str()));
}

// play the animation
Animation* anim = Animation::createWithSpriteFrames(frames, 0.05f);
someSprite->runAction(Animate::create(anim));
someSprite->setPosition(X, Y);

this->addChild(someSprite);

And for creating some file like "emad-running.plist", I suggest Texture Packer. This tool support cocos2d fully. you can import your separated image, and Texture Packer give you two file:

  1. "emad-running.plist"
  2. "emad-running.pvr" OR "emad-running.png" OR ...

This two file complete each other and in code you just need to refer.plist and you are done. :)

This is how you do in Texture Packer:

Texture Packer Instruction

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.