void HelloWorld::testSpriteFrame()
{
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile("Zombie_default.plist");
CCSprite* sp=CCSprite::createWithSpriteFrameName("Zombie20.png");
sp->setPosition(ccp(500,205));
sp->setTag(20);
this->addChild(sp);
//将文件中的作为一个字典读取出来
CCDictionary* dic =CCDictionary::createWithContentsOfFile("Zombie_default.plist");
dic->retain();
//获取所有的精灵帧
CCDictionary* frameDic =(CCDictionary*)dic->objectForKey("frames");
frameDic->retain();
//获取数量
int num= frameDic->allKeys()->count();
CCArray *allframes=CCArray::createWithCapacity(10);
for (int i = 0; i < num ; ++i) {
char frame[50];
sprintf(frame, "Zombie%d.png",i+1);
//获取具体的精灵帧并将其添加到精灵帧组中
CCSpriteFrame* frameName =CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(frame);
allFrames->addObject(frameName);
}
//根据精灵帧数组创建CCAnimation
CCAnimation*animation = CCAnimation::createWithSpriteFrames(allFrames,0.08);
CCAnimate* animate = CCAnimate::create(animation);
CCRepeatForever* forever = CCRepeatForever::create(animate);
CCMoveTo* move = CCMoveTo::create(30, ccp(-20, 200));
sp->runAction(forever);
sp->runAction(move);
}