对于ccbi文件的加载使用的理解

一、使用:
首先,我也没有去操作过cocos Builder工具,因为毕竟我不是干美术的,我只是使用这个工具做好的ccbi文件而已,所以。。。

我对这个工具的操作并不熟悉。只是在网上找了一些相关的知识和我以前学过的cocos studio做了下对比:

1、支持的平台不一样
cocostudio目前的版本只能在windows下面使用(ps:据说mac版也正在开发之中,所以未来一段时间也可能会有mac版本),而cocosbuilder版本目前只能在mac下使用(所以我们公司的美术人手配备一个苹果笔记本电脑,简直高大上啊有么有),所以你可以根据自己目前手里的机器的操作系统来决定使用哪款软件。

2、UI体系不同
cocosbuilder是对cocos2dx本身控件的一些封装,比如基本的CCLayer、CCNode、CCLabelTTF、CCControlButton等控件都可以在cocosbuilder中看到,在程序中,你需要引用ccbi文件,你只需要拿到这些对象的引用即可在程序中设置他们的属性,以及添加一些监听。但是cocostudio则不然,它封装了自己的一套UI体系,比如出现了UITextButton、UILabel、UIButton等控件,这些控件与cocos2dx中原生的控件不尽相同,所以在程序中使用的时候,起初你会觉得不太适用,仿佛进入了另一种编程环境。但是个人觉得如果你熟悉了之后,还是蛮好用的。

3、开发团队
cocostudio是由cocos2dx作者支持的团队,个人觉得后期cocostudio将是主流。

4、bug
cocostudio目前只有1.0版本,所以其中存在为数不少的bug,并且文档欠缺,而cocosbuilder则相对较为成熟,其中的bug不少太多,文档也比较多。

二、使用ccbi文件:

1.直接把做好的ccbi文件放在res目录下,ccbi就是美术大神们根据策划需求做的一个个游戏界面,所以只需要我们用程序加载上去就可以看到一个个优美的游戏场景了,不用过多的去用代码调试每个元素的大小,位置啊什么的,后期需求变动更改时,我们也可以偷偷懒,让美术的改好,然后我们只需要更新一下SVN里面的ccbi文件和res图片资源就OK啦!

2.具体说一下代码加载:
var scene = new cc.Scene()
var node = cc.BuilderReader.load(“res/ccb/gameScene.ccbi”)
scene.addChild(node);
这个node节点其实就是这个场景的根节点,也可以用我们平时习惯的Layer定义也是没问题的

3.加载完成之后通过 node.controller._init()可以定义一个_init()的初始化函数,有点类似我们平时自己定义的_init()函数用来做初始化处理。

4.进行注册对应的ccbi文件:cc.BuilderReader.registerController(“gameScene”, {
当然少不了如ctor()那样的初始化函数了:onDidLoadFromCCB : function(){
},
});
注册之后,就可以运行在浏览器上看到对应ui界面啦,当然除了这些,接下来的游戏逻辑就得我们自己来写了。

5.相比我使用过得cocos studio,我觉得最便利的一个地方是,ccbi里面的所有节点都是可以直接通过this.来引用,这个this指向的就是这个ccbi文件了,所以是可以直接调用的这节点进行调试,另外,因为this指向的地方变了,如果想在场景中添加什么元素,需要通过this.rootNode来引用哦!

好了,我对ccbi的理解基本上就是以上这些了,希望对大家能有所帮助,如果有什么不对或不足的地方也希望大家能及时跟我沟通,共同进步!

你可能感兴趣的:(学习要点)