目前与cocos2d-x-2.14版本对应的cocosbuilder版本为cocosbuilder-3,目前为alpha-5。稳定版本为cocosbuilder2.1,但与cocos2d-x不匹配(CCBReader有版本限制,不同版本之间无法解析)。

新版的cocosbuilder,增加了js绑定功能,可直接在cocosbuilder当中编辑js脚本,并调试程序。

cocosbuilder可编辑制作四种类型的元件。

为帮助美工兄弟理解,以下描述尽量使用flash里面的术语。
目前美工可以完成的工作:

1.场景(CCLayer)的编辑。对应到壁纸当中,就是可编辑无需交互(即操作)的部分,如壁纸背景(背景图)、无需交互的动画(比如会动的云)和粒子(如下雨,下雪)等。

2.元件的编辑(CCSprite)。
元件的编辑可支持八种动画效果,分别为visible(可见,快捷键V,这个可用于编辑闪烁效果,以及在特定时间段出现的元件),position(位置,快捷键P,编辑移动效果),scale(大小,快捷键S,编辑缩放效果),rotation(旋转,快捷键R,编辑旋转效果),skew(扭曲,无快捷键,编辑扭曲效果,可将元件进行不规则变化,如对角线拉神),sprite frame(精灵帧,快捷键F,可用于编辑序列帧,也可用于在特定时间点替换元件图片资源),opacity(透明度,快捷键O,用于编辑淡入/淡出效果,注意这个不是用来编辑闪烁效果的,这是个渐变的效果,闪烁用visible),color(颜色,快捷键C,用于编辑颜色的渐变)。
各个动画效果可以叠加,与这与flash是一样的。

关于CCNode与CCSprite的区别,CCNode为一抽象类,在界面中实际上表现为一个点,没有content区域,而CCSprite为一张位图,有content区域。个人理解CCNode一般用来制作骨骼动画,CCSprite用来做序列帧动画。

由于cocosbuilder中节点之间是树形关系,所以制作骨骼动画还是比较简单的。

3.粒子的编辑(CCParticle)。各个参数与市面上大多数粒子编辑工具相同,在此不多做介绍了。

美工可使用cocosbuilder编辑场景和动画(无需交互的部分,需要交互的部分给出png位图,由开发人员负责通过程序实现),而后需要由开发人员进行二次编辑。

此处对“无需交互”做简单解释:无需交互是指一段动画的播放不受用户操作的影响,比如一个点击效果,用户的操作分为点击开始、点击中、点击结束,点击开始后需要播放的这一段动画其实不受点击操作影响的,同样的,点击结束后播放的那一段动画也是不受点击操作影响的。
那哪些是需要交互的动画呢?即动画的播放会受到用户操作的控制,如一个拖动效果,拖动的效果会随着用户拖动的距离和方向进行改变,这个动画就是需要交互的。

开发人员需要完成的工作:
1.ccb工程的二次编辑,需要调整程序中需要用到的精灵,粒子等(给出变量名),交互接口(给出函数接口)等。

2.发布(publish),即将xml格式的ccb文件导出为二进制格式的ccbi文件。目前cocosbuilder支持对安卓程序的支持还是可以的,在此处可进行一些屏幕适配的工作。注意发布前需要调整发布的设置。

下面是对cocosbuilde的一部分测试工作。
1.对CCLayer的读取;
2.CCLayer中CCSprite的读取和操作;
3.CCLayer中CCParticle的读取和操作;
4.CCLayer中CCBFile的读取和操作;

5.lua动态解析ccbi文件无问题。

经测试,目前CCBReader对ccbi文件的读取和操作均无问题。

需要注意的部分:
1.发布的ccbi文件若用于c++解析,则ccb文件的Document下的JS Controller属性要取消选中,使用Custom Class属性,否则在c++中无法解析其子节点。若用于脚本解析(包括lua和js),则要使用JS Controller属性,否则无法在脚本中解析任何节点。

本博客内容均为原创,转载请注明:http://blog.csdn.net/balitaimonk/article/details/9970217

最新文章

  1. Java传值和传址
  2. redis之如何配置jedisPool参数
  3. Windows Store App 应用程序安装目录
  4. 记录几种有关libsvm格式数据的list和dict用法
  5. H5时代的新存储简介
  6. ios9下ionic框架报[$rootScope:infdig] 10 $digest() iterations reached. Aborting!的解决办法
  7. Xcode无法设置视图的 autosizing control原因
  8. python【第三篇】函数
  9. typedef和#define的简单比较
  10. yum 出问题了
  11. Docker日志管理--docker部署安装ELK (十一)--技术流ken
  12. selenium 添加动态隧道代理
  13. 【迎圣诞,拿大奖】+流量分析+Writeup分享
  14. Get The Treasury HDU - 3642(扫描线求三维面积交。。体积交)
  15. Protobuf数据类型
  16. P493 brass
  17. MVC中Ajax post 和Ajax Get——提交对象
  18. OCIlib的几个函数的执行效率(附上pro*c的性能对比)
  19. jsp页面遍历List<Array>与Map
  20. mysql优化器在统计全表扫描的代价时的方法

热门文章

  1. Excel操作--使用NPOI导入导出Excel为DataTable
  2. 243. Shortest Word Distance
  3. 简单的算法题, Find Minimum in Rotated Sorted Array 的Python实现。
  4. Android Studio Gradle
  5. sql语句记录
  6. ASP.NET MVC ActionResult的实现
  7. android webview js alert对话框 不能弹出 解决办法
  8. 转:MVC2表单验证失败后,直接返回View,已填写的内容就会清空,可以这样做;MVC2输出文本;MVC2输出PDF文件
  9. python - 沙盒环境 - virtualenv - 简明使用录
  10. Swift入门篇-基本类型(1)