上节课我们讲解了cocos2-xv3.7版本的下载安装,也展示了使用CocosStudio编译不同平台执行程序的方法,大家是不是对新版本的Cocos引擎充满期待?今天我们就创建一个工程,给大家展示一下cocos2d-xv3.7创建HelloWorld都有哪些新的改变。
本节课的课程视频地址:http://edu.csdn.net/course/detail/1342/20981?auto_start=1
火云开发课堂论坛地址:http://www.firestonegames.com/bbs/forum.php
创建HelloWorld工程
首先我们启动我们的Cocos引擎的软件,选择“项目”选项,点击“新建项目”。如图:
然后选择Cocos项目,如图:
然后我们可以看到创建项目所需进行的选项:
这里我们给项目起名字叫HelloWorld,项目的路径就放到桌面的code的文件夹里面。屏幕方向我们选择横屏,引擎版本还是选择cocos2d-xv3.7版本,项目语言选择C++。选择完以上选项之后点击完成。项目就创建出来了,这时候Cocostudio会自动弹出来,如图:
我们可以看到一个名词为“MainScene”的场景被创建出来,场景中有一个经典的Cocos背景图,但是缺少了“HelloWorld”的这个文本标签,这个显然是我们不可以接受的,上帝说:“一定要有HelloWorld!”。我们在左侧控件面板找到“文本”这个选项,如图:
我们拖动“文本”到“MainScene”里面。这样我们就新建了一个文本标签,接下来我们来修改一下新建的“文本”的属性,我们选中“文本”,在属性一栏进行修改。如图:
我们可以在“名称”选项里修改文本的名字,在“坐标“选项里修改文本的坐标。
在“文本”选项中我们要写上“HelloWorld”。然后我们来修改文字显示的颜色,字体的大小。我们可以看到下面有一个“导入字体文件”的选项,该选项是干嘛的呢?如果你有Cocos开发经验的话,你一定能猜出来,它是非常有用的,具体多有用我现在就是不告诉你(哈哈,开个玩笑,等我们讲Label的时候会详细讲解的)。
做完这些之后我们的“HelloWorld”就显示出来了,我们要command+s(win上面是ctrl+s)进行保存,command+p(win上面是ctrl+p)来发布Cocostudio的文件。
工程目录分析
我们打开我们创建的项目的工程目录,如图:
我们双击HelloWorld.xcodeproj,这时候就启动了Xcode开发工具。我们可以看到工程目录:
从工程的目录我们可以看出,新版本的Cocos引擎创建出来的工程,和之前的不一样了,应该说是很不一样了。首先现在只剩下一个HelloWorld的工程,之前的cocos2d的工程不见了。在Resources里面多了一个MainScene.csb,这个东东就是我们刚才在cocostudio里面创建的,随着我们的“发布”,也就是你按下command+p之后他就会生成了。
从工程的目录我们可以看出,新版本的Cocos引擎创建出来的工程,和之前的不一样了,应该说是很不一样了。首先现在只剩下一个HelloWorld的工程,之前的cocos2d的工程不见了。在Resources里面多了一个MainScene.csb,这个东东就是我们刚才在cocostudio里面创建的,随着我们的“发布”,也就是你按下command+p之后他就会生成了。
看图我们仔细看红色标注的.a静态库,这个东西是干嘛的呢,它就是cocos2d-x的工程编译成的静态库,我们之所以找不到cocos工程源码了,是因为他已经被变成静态库放到这儿了,那么你可能会问,什么要编译静态库呢,这是因为,编译静态库之后我们的编译速度就快了很多,非常多,之前编译一个新建成的工程,是非常耗时的,我i7四核,16G内存,加256闪存的高富帅电脑配置还要编译5分钟左右呢,我基本上都是刚开始编译工程就趴桌子上睡一觉,有时候睡醒了还没编译好,说夸张点,编译的时间都够博尔特绕地球转三圈了。现在使用静态库就完美解决了编译慢的问题。这样“妈妈再也不用担心我编译工程的时候睡着了”。当然使用静态库也能让你的工程运行更加流畅。
我们运行工程,会看到:
工程代码详解
下面我们来看一下代码。
HelloWorld是新建的Cocos2d-x的Layer类,在头文件中只有三个函数,对Cocos2d-x引擎稍有经验的人都非常熟悉。我加入了注释,大家可以自行了解。
下面我们来看一下HelloWorld的源文件:
大家通过注释,可以看到,对比以往Cocos2d-x版本的最大不同是它已经不在代码中创建Cocos背景图以及HelloWorld文本标签了,而是通过一个叫CSLoader的加载器直接读取CocosStudio的二进制信息文件。这小小的一点改变,实际上代表着Cocos的巨大进步,说明Cocos的开发已经进入工具化时代,这一点改变要求我们在未来要更关注Cocos一体化编辑器CocosStudio的使用。(顺便报个料:作为CocosStudio曾经的产品总监,红孩儿老师参与了CSLoader的设计开发,因为很多网友向红孩儿老师吐槽CocosStudio加载Json太慢,红孩儿老师努力将这部分改成可兼容JSON格式的CSB二进制文件,在格式上进行极限优化,最终使加载速度大幅度提升!)。
好了,今天的我们关于HelloWorld工程的创建与讲解就到这儿吧,谢谢大家。
作业:
创建一个cocos项目。