Cocos2dx实现精灵的加速(适用于塔防游戏)
2015-08-25 16:01
573 查看
实现全局的加速、减速。
通过设置Scheduler的timeScale,可以实现全局的加、减速。代码非常简单:
2)实现对某个CCActionInterval动作的加速、减速
方法一:很容易想到的一个方法就是改变CCAnimation的delay unit。代码如下:
这个方法有一个缺点:改变了CCAnimationCache中这个animation的delay unit。也就是说以后即使再从CCAnimationCache中获取这个animation,其delay unit已经是原来的0.2倍了。
方法二:cocos2d-x提供了CCSpeed的类,可以实现动画速度的调节。用法如下:
注意,如果pSprite有已经运行的动作,要用pSprite->stopActionByTag()停掉之前的动作,不然两个动作就叠加到一起了。
3)对某个CCFiniteTimeAction类型动作的加速、减速
大部分时候,一个游戏人物的动作并非由单一一个CCActionInterval类型的动作构成,而是一串动作连起来,构成一个Sequence。用CCSequence::create(…)创建的对象都是CCFinteTimeAction类型的,CCSpeed并不适用。在CCSpeed类的说明里,明确指出”This action can’t be Sequenceable because it is not an CCIntervalAction”。那对于Sequence就束手无策了吗?非也。cocos2d-x引擎自带例子中,schedulerTest给我们展示了如何控制某个sprite的
scheduler的timescale。废话少说,直接看代码。
在class TwoSchedulers中定义了两个customer的scheduler和两个CCActionManager。
在onEnter函数中,分别对两个sprite设置customer的ActionManager.
通过以上的代码,就可以通过改变sched1的timescale来改变pSprite1的动作的快慢了。有了这种方法,那么就可以放弃CCSpeed的那种方法了。
通过设置Scheduler的timeScale,可以实现全局的加、减速。代码非常简单:
方法一:很容易想到的一个方法就是改变CCAnimation的delay unit。代码如下:
方法二:cocos2d-x提供了CCSpeed的类,可以实现动画速度的调节。用法如下:
3)对某个CCFiniteTimeAction类型动作的加速、减速
大部分时候,一个游戏人物的动作并非由单一一个CCActionInterval类型的动作构成,而是一串动作连起来,构成一个Sequence。用CCSequence::create(…)创建的对象都是CCFinteTimeAction类型的,CCSpeed并不适用。在CCSpeed类的说明里,明确指出”This action can’t be Sequenceable because it is not an CCIntervalAction”。那对于Sequence就束手无策了吗?非也。cocos2d-x引擎自带例子中,schedulerTest给我们展示了如何控制某个sprite的
scheduler的timescale。废话少说,直接看代码。
在class TwoSchedulers中定义了两个customer的scheduler和两个CCActionManager。
相关文章推荐
- cocos2dx 3.6 引入sqlite3数据库模块
- cocos2dx中的Director类中的getInstance()方法解析,即单例模式
- 关于cocos2dx如何绑定c++的静态方法和类给lua调用
- cocos2d-x 3.x 中文乱码问题解决
- cocos2d-x 自带11种粒子特效
- cocos2d-js游戏设计常用函数笔记
- cocos AssetsManagerEX
- cocos2d js layer定义扑克放在scene中,修改layer中图片,layer响应点击函数
- Cocos2d-x中,如何更快地加载大量重复粒子
- 【cocos2d-x 3.7 飞机大战】 决战南海I (十三) 分数场景
- 【cocos2d-x 3.7 飞机大战】 决战南海I (十二) 游戏结束场景
- 【cocos2d-x 3.7 飞机大战】 决战南海I (十一) 关于游戏场景
- cocos2d-x实现3D模型的换装系统的研究
- cocos2d-x改进的粒子系统和编辑器(需求分析)
- cocos2d-x中CCSprite更换图片
- cocos2d-x3.7 开启console
- Cocos2d-x项目移植(Win32至IOS,Win32至Android)
- Cocos2d-x开发系列 从一个图片灰态需求开始我的博客之旅
- Cocos2d-x 通讯的数据压缩与解压
- Cocos2d-x 图片资源加密,Lua文件加密