Animation 구현
그림으로 된 소스 첨부.
<실제 구현된 소스>
void FirstGame::createBirds(float dt)
{
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile("bird_ani.plist");
CCSprite* bird = CCSprite::createWithSpriteFrameName("bird_ani_1.png");
bird->setPosition( ccp( s.width + bird->getContentSize().width/2, BIRD_Y) );
bird->setScale(0.5f);
this->addChild(bird, 10);
m_listBird->addObject(bird);
CCAnimation *animation = CCAnimation::create();
animation->setDelayPerUnit(0.15f);
animation->addSpriteFrame( cache->spriteFrameByName("bird_ani_1.png") );
animation->addSpriteFrame( cache->spriteFrameByName("bird_ani_2.png") );
animation->addSpriteFrame( cache->spriteFrameByName("bird_ani_3.png") );
animation->addSpriteFrame( cache->spriteFrameByName("bird_ani_4.png") );
animation->addSpriteFrame( cache->spriteFrameByName("bird_ani_5.png") );
CCAnimate* aniBird = CCAnimate::create(animation);
CCRepeatForever *pBirdAniRep = CCRepeatForever::create(aniBird);
bird->runAction(pBirdAniRep);
CCMoveTo* pMove = CCMoveTo::create(BOX_MOVE_SEC * 0.8f, ccp(0 - bird->getContentSize().width/2, BIRD_Y) );
CCCallFuncN* pAfter = CCCallFuncN::create(this, callfuncN_selector(FirstGame::removeBird));
bird->runAction( CCSequence::create(pMove, pAfter, NULL) );
}