- 本帖最后由 hxl35 于 2012-8-7 15:51 编辑 *
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile("character4.plist","character4.png");
CCArray *animFrame = CCArray::create(4);
char str = {0};
for(int i=0;i<4;i++)
{
sprintf(str,"char%d.png",i);
CCSpriteFrame* frame = cache->spriteFrameByName(str);
animFrame->addObject(frame);
}
CCAnimation* animation = new CCAnimation();
animation->initWithSpriteFrames(animFrame, 0.2f);
CCArray *animFrames = animation->getFrames();
if (animFrames->count() > 0)
{
CCSpriteFrame *frame = (CCSpriteFrame *)animFrames->objectAtIndex(0); //值不对?
CCSpriteFrame *frame1 = (CCSpriteFrame *)animFrames->objectAtIndex(1);
CCSpriteFrame *frame2 = (CCSpriteFrame *)animFrames->objectAtIndex(2);
CCSpriteFrame *frame3 = (CCSpriteFrame *)animFrames->objectAtIndex(3);
}
为什么CCArray *animFrames = animation->getFrames();获取的数组和animation->initWithSpriteFrames(animFrame, 0.2f);时候传入的数组不一致呢?是我获取的方式不对么?
我用的是 cocos2d-2.0-rc2-x-2.0.1 这个版本