cocos2d-x 3.0 帧播放 (帧动画循环播放)
2013-12-06 10:01
357 查看
nb原创, 欢迎转载,转载请在明显处注明! Thx~
原文地址:http://blog.csdn.net/nilreb_nb/article/details/17161339
之前都是用2.0开发,用2.0使用帧播放需要用到CCMutableArray这个容器数组,但是3.0里面已经没有这个数组了,所以我去查看了testCpp里面的Animation源码,这边说一下3.0要怎么实现帧播放。
直接上代码了
这两种定义是一个意思,我习惯用auto,方便省事。
另外如果想实现循环播放,也简单,用CCRepeat(有限)和CCRepeatForever(无限循环)
原文地址:http://blog.csdn.net/nilreb_nb/article/details/17161339
之前都是用2.0开发,用2.0使用帧播放需要用到CCMutableArray这个容器数组,但是3.0里面已经没有这个数组了,所以我去查看了testCpp里面的Animation源码,这边说一下3.0要怎么实现帧播放。
直接上代码了
(1)手动实现帧播
auto animation = Animation::create(); char str[64] = {0}; for(int i=0;i<18;i++){//我一共有18张图片,放在test1文件夹 sprintf(str,"test1/%d.png",i+1); animation->addSpriteFrameWithFileName(str); } animation->setDelayPerUnit(3.0f / 18.0f);//这里表示一共播放3秒,然后18张图片 animation->setRestoreOriginalFrame(true); auto action = Animate::create(animation); auto run1 = CCSprite::create();//创建一个sprite让它跑起来 run1->setPosition(ccp(contsize.width/2,contsize.height/10*6)); this->addChild(run1,12); run1->runAction(Sequence::create(action, NULL));
auto animation = Animation::create(); Animation* animation = Animation::create();
这两种定义是一个意思,我习惯用auto,方便省事。
另外如果想实现循环播放,也简单,用CCRepeat(有限)和CCRepeatForever(无限循环)
auto Call = CCCallFuncND::create(this,callfuncND_selector(CombatSystemLayer::repeatFunc),pdata); auto run = CCSprite::create(); this->addChild(run,1); auto seq3 = Sequence::create(Call,DelayTime::create(8.0f),NULL);//一组动作序列的集合 //CCRepeatForever* repeat=CCRepeatForever::create(seq1);//无限循环 auto rep2 = CCRepeat::create(seq3,5);//把序列seq3循环播放5次 auto seq4 = Sequence::create(DelayTime::create(3.5f), rep2, NULL);
(2)文件实现帧播放(这是testCpp的源码)
AnimationCache *cache = AnimationCache::getInstance(); cache->addAnimationsWithFile("animations/animations-2.plist");//加载plist文件 Animation *animation2 = cache->animationByName("dance_1"); Animate* action2 = Animate::create(animation2); _tamara->runAction(Sequence::create(action2, action2->reverse(), NULL));
相关文章推荐
- cocos2d-js 3.0 rc2 自定义UI控件组件 例子:能播放动画的MenuItem。MenuItemSprite的bug
- cocos2d循环播放动画
- 【iOS-Cocos2d游戏开发之七】在cocos2d中添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题!【11月28日更新解决添加组件Cocos2d动画停止播放的BUG】
- HTML——动画效果:图片循环横向播放
- (转)cocos2d-x 每帧动画的播放设置一个监听函数的做法
- Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画
- cocos2d_lua播放动画
- cocos2d-x 播放序列动画的两种方法
- [ActionScript 3.0] 如何控制加载swf动画的播放与暂停
- Cocos2d-x 如何播放动画
- Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- 实习小白::(转) Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画
- cocos2d-x JS 利用重复动作实现动画播放(实现倒计时)
- Cocos2d-x学习笔记(五岁以下儿童) 精灵两种方式播放动画
- Cocos2d-x 3.0 开发(十二)在CocoStudio中使用粒子挂载与曲线动画
- Cocos2d-x 3.0 开发(八)骨骼动画的动态换肤
- 实习小白::(转)Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- cocos2d播放动画完后回到第一帧的图的方法
- 如何在cocos2d里面使用动画和spritesheet 3.0 & C++版
- 小程序 animation用setInterval动画循环,录音按钮的播放效果