Cocos2d-x游戏开发CCBAnimationManager控制动画
CocosBuilder能方便的编辑各种动画。大部分动画都是以独立片段的形式存在的。 须要由程序来控制何时播放。 管理ccbi文件的动画播放有个专门的类:CCBAnimationManager 大致的逻辑是这种: 全部的动画以动作的形式存在一个CCArray中。 这个ActionManager管理这些动作。 我们如今想做的无非两件事:控制播放动作,当动作结束时得到通知。 我们在cocosBuilder中设置的默认动作。是当Scene层的OnEnter载入完毕,就会播放的。 因此要对当中的元素改动,应在onEnter中进行。 好。如今我们面临的第一个问题是当第一个动作结束时,我怎样知道? 在这个类中有这样一个函数:
我们能够这样用:
回调函数定义例如以下:
这样当第一个动作运行完,就会调用这个函数。 即使你有一个CCSquence。 比方,在cocosBuilder设置了动画链,它也是会被调用的。你唯一要注意的是。这个注冊必须在动作结束之前。 好。以下的第二个问题,怎样让下一个动作执行。
相同是在CCBAnimationManager中,它们是播放动画的方法。 name即是你在cocosBuilder起的动画名称。fTweenDuration是两个动画之间的间隔。中间那个函数表示没有间隔。 所以,我们能够这样用:
这样我们就能将一串动作串起来了! 知道了怎么控制动画之后。还有个问题,就是怎样把cbbi的CCBAnimationManager找到呢? 这就要从extensions\CCBReader\CCNodeLoader.cpp这个文件说起了。 当调用CCBReader::readNodeGraph方法是。会Load对应的Node。当中会调用:
这种方法。可见由ccbi文件读进来的每个元素,都是通过Loader中的这种方法创建的。 这种方法是什么?
就是创建一个CCNode而已。 我们要做的就是重写这种方法,原理是由于我们要调用CCBReader中的getAnimationManager()这种方法。将得到的manager保存到一个私有变量中就成了。 我这个写到宏里了,凑合看吧 哈
当中setAnimationManager保存了这个值。 |
最新文章
- 数独 JAVA实现
- java线程池(newSingleThreadExecutor())小应用
- IP地址的组成
- C#进行Visio二次开发之文件导出及另存Web页面
- 教程和工具--用wxPython编写GUI程序的
- Yahoo Pure 中文参考手册
- Oracle 游标使用(转)
- IOS开发UI篇--使用CAShapeLayer实现复杂的View的遮罩效果
- hdu2962 Trucking (最短路+二分查找)
- android相对布局中控件的常用属性【转】
- Django中模板的用法简介
- Oracle 查询结果集行数分析
- 解决Win10系统本地主机,网络受限占用CPU过高的问题
- 你不知道的JavaScript——第二章:this全面解析
- 20165231 2017-2018-2 《Java程序设计》第7周学习总结
- 代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)
- pip install GitHub package
- 找出n个数中重复最多的10个数
- 内存与cpu的关系
- linux sumba服务器简单配置
热门文章
- FZU 2102 Solve equation(水,进制转化)&;&; FZU 2111(贪心,交换使数字最小)
- uva 1291(dp)
- R6010 -abort() has been called错误分析及其解决方法
- C++入门学习——标准模板库之vector
- [跟我学Spring学习笔记][DI配置与使用]
- CSS选择符 新的认识
- html进阶css(2)
- SQL按汉语拼音首字母排序
- Ubutu命令 笔记积累
- hdu 1042 N!(高精度乘法)