cocos2d-x 播放动画为什么只显示静态图片

cocos2d-x 播放动画为啥只显示静态图片?
代码是网上copy的,到处都是这种代码:

CCSpriteFrameCache *cache=CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile("hero/idle/idle.plist","hero/idle/idle.png");

CCArray *splitAniframe = CCArray::createWithCapacity(4);
CCSpriteFrame *frame;
char *frameNameChar = new char[20];
for(int i = 0;i< 4;i++)
{
sprintf(frameNameChar, "2001%d.png",i);  
frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(frameNameChar);
splitAniframe->addObject(frame);
}

CCAnimation *splitAnimation=CCAnimation::createWithSpriteFrames(splitAniframe,0.2f);
splitAnimation->setDelayPerUnit(1.0f);

CCAnimate *splitAnimate=CCAnimate::create(splitAnimation);
CCSprite *testSprite = CCSprite::createWithSpriteFrameName("20010.png"); 
testSprite->setPosition(ccp(500,500));
addChild(testSprite);

testSprite->runAction(CCRepeatForever::create(splitAnimate));


1. 如果我创建精灵的时候直接用 CCSprite::create( ),则什么都不显示。换了createWithSpriteFrameName,则显示第一张图片。
这说明png图片是加载了,也间接的说明 plist文件也是一起可以读取的,但是为毛动画播放不了呢?
------解决方案--------------------
目测没问题,我把你这段代码放到3.0也没问题(只把CCArray换成了Vector)~
你这播放间隔是1秒钟,是不是太慢了所以你没感觉它在动
------解决方案--------------------
测试了可以动,
是不是图片有问题,应该不会是一样的图片吧
------解决方案--------------------
引用:
Quote: 引用:

目测没问题,我把你这段代码放到3.0也没问题(只把CCArray换成了Vector)~
你这播放间隔是1秒钟,是不是太慢了所以你没感觉它在动

谢谢你
那这段代码在你的机器上能够看出动画吗?我这边看起来就是不动的


没问题,能动,你用的是什么图片素材?估计是太相似了

还有,你可以把这句代码删了:splitAnimation->setDelayPerUnit(1.0f);
你在创建CCAnimation 对象的时候不是已经制定了播放间隔为0.2秒么~后面又重复设置为1.0秒,这个间隔太长了点吧cocos2d-x 播放动画为什么只显示静态图片
------解决方案--------------------
引用:
Quote: 引用:

测试了可以动,
是不是图片有问题,应该不会是一样的图片吧


你这边可以动吗?!我这边看起来就是没动的。没有仔细观察是动的太快了还是什么,但是确实不明显。


可以动的,像楼上说的,你的图片是不是长得一样啊看不出来动没动,换一组动作大点的图片试试。。

你这设置了1秒,肯定不是动太快。。、用你的代码换成我自己的图片都是在播慢动作