欢迎转载:http://www.52php.cn/article/p-zngyomuh-zw.html
本来想写一下帧动画的,搜了一下网上好像有一大把,就懒得写了,直接贴代码。
-
- CCSpriteFrameCache*cache=CCSpriteFrameCache::sharedSpriteFrameCache();
- //添加plist文件到缓存
- cache->addSpriteFramesWithFile("lightning.plist");
- //创建数组用来存放帧序列
- CCArray*animFrames=CCArray::create();
-
- charstr[64]={0};
- for(inti=1;i<=18;++i){
- sprintf(str,"lightning%02d.png",i);
- CCSpriteFrame*frame=cache->spriteFrameByName(str);
- CCLOG(str);
- //添加帧到数组
- animFrames->addObject(frame);
- }
-
- //用帧序列生成帧动画信息,设定帧间隔时间
- CCAnimation*animation=CCAnimation::createWithSpriteFrames(animFrames,0.08);
- animation->setRestoreOriginalFrame(true);
-
- CCAnimationCache::sharedAnimationCache()->addAnimation(animation,"Lightning");
- //获取第一帧
- CCSpriteFrame*frame=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("lightning01.png");
- //用第一帧作静态图
- CCSprite*first=CCSprite::createWithSpriteFrame(frame);
- first->setPosition(ccp(100,100));
- this->addChild(first);
- //用名字在缓存取帧动画信息
- CCAnimation*anim=CCAnimationCache::sharedAnimationCache()->animationByName("Lightning");
- //有动画信息生成动画
- CCAnimate*animate=CCAnimate::create(anim);
- //执行动画
- first->runAction(CCRepeatForever::create(animate));
本来还想做个gif的,mac下的那个软件太贵了,就算了。看个截图
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|