CCAnimation::getFrames() 获取的值不对?

  • 本帖最后由 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 这个版本

因为返回值已经变了,不是返回CCSpriteFrame了。

我发现cocos2d 2.0版本也有这个问题, 是不是2.0用法变更了:(