cocos2d-x 播放动画为什么只显示静态图片
cocos2d-x 播放动画为啥只显示静态图片?
代码是网上copy的,到处都是这种代码:
1. 如果我创建精灵的时候直接用 CCSprite::create( ),则什么都不显示。换了createWithSpriteFrameName,则显示第一张图片。
这说明png图片是加载了,也间接的说明 plist文件也是一起可以读取的,但是为毛动画播放不了呢?
------解决方案--------------------
目测没问题,我把你这段代码放到3.0也没问题(只把CCArray换成了Vector)~
你这播放间隔是1秒钟,是不是太慢了所以你没感觉它在动
------解决方案--------------------
测试了可以动,
是不是图片有问题,应该不会是一样的图片吧
------解决方案--------------------
没问题,能动,你用的是什么图片素材?估计是太相似了
还有,你可以把这句代码删了:splitAnimation->setDelayPerUnit(1.0f);
你在创建CCAnimation 对象的时候不是已经制定了播放间隔为0.2秒么~后面又重复设置为1.0秒,这个间隔太长了点吧
------解决方案--------------------
可以动的,像楼上说的,你的图片是不是长得一样啊看不出来动没动,换一组动作大点的图片试试。。
你这设置了1秒,肯定不是动太快。。、用你的代码换成我自己的图片都是在播慢动作
代码是网上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秒钟,是不是太慢了所以你没感觉它在动
------解决方案--------------------
测试了可以动,
是不是图片有问题,应该不会是一样的图片吧
------解决方案--------------------
没问题,能动,你用的是什么图片素材?估计是太相似了
还有,你可以把这句代码删了:splitAnimation->setDelayPerUnit(1.0f);
你在创建CCAnimation 对象的时候不是已经制定了播放间隔为0.2秒么~后面又重复设置为1.0秒,这个间隔太长了点吧
------解决方案--------------------
测试了可以动,
是不是图片有问题,应该不会是一样的图片吧
你这边可以动吗?!我这边看起来就是没动的。没有仔细观察是动的太快了还是什么,但是确实不明显。
可以动的,像楼上说的,你的图片是不是长得一样啊看不出来动没动,换一组动作大点的图片试试。。
你这设置了1秒,肯定不是动太快。。、用你的代码换成我自己的图片都是在播慢动作