首页 > 代码库 > Cocos2d-x初识
Cocos2d-x初识
cocos2d-x引擎是什么
在学习游戏的时候就有意的搜索这方面的知识,知道游戏需要游戏引擎,引擎听着很厉害,不过就是一个游戏框架。也许某一个游戏框架火起来了,就很流行了,不过我认为任何游戏引擎对小白来说都是有借鉴意义的。说起小白了,我给不同知识领域的人起了不同的名字,什么也不知道的叫小白,略微懂一些的人叫小灰,专业能应用知识的人叫做小黑,呵呵,暂时这篇文章是小灰给小白传授知识的。回过头来,cocos2d-x主要还是关注2d程序方面的制作,当然游戏比较实用,不过,你写别的程序是完全可以的。
引擎的部件
我在网络上查阅了不少资料,慢慢的就总结出来了,一个引擎主要的就是四个方面,图形系统,物理系统,网络系统和音频系统,这四个部件就构成了最基本的商业引擎。各种开源的引擎就是专注实现这些部分或者一部分,毕竟没有资金支持,例如我所喜欢的orge就在图形方面非常出色,其他的比如网络就有些空白了。那么cocos2d-x都有那些部件呢。这个作为一个稍微成熟的流行的引擎四个部件都是有的。按照官网的描述,还有一个脚本部件。如图
这张图的地址在
http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v2/getting-started/architecture-and-directory-structure/zh.md
支持的平台
主要的就是六个平台,Mac,Windows,Linux,Ios,Andriod,WP,当然还有别的,只不过这六个平台用户最多,所以写程序关注他们差不多就没有什么问题了,这里就要抱怨一句了,在高端的平台上没有一个是中国的,显示出我们的路还好长的,没有民族的产品啊。前几天有意的查找一些这方面的信息,自主知识产权需要的时间何其多,COS系统却说一两年做出来,有点太吹了,怪不得人人不相信。
目录结构
我也没有吹牛的意思,不过是做过微软的项目,再加上有意的打开过各种项目的代码看过,例如cocos2d-x,linux,mysql,log4net等等开源的项目。其实没有深入就是研究他们的目录组织,一个大一些的项目目录到底是怎么组织的,还不错,没有白费我不分白天黑夜的下载代码,总结出了一点,仅供借鉴,一个项目的目录主要分为三部分,第一部分就是本项目的关注。例如cocos2d-x的,主目录就是cocos2d-x.也可以叫做核心的目录吧,主要功能就是这个文件目录了。再者就是部件目录,很多项目是有一些可供选择的部件来供用户选择的,例如dxut中的optional,cocos2d-x中的CocosDenshion.再者还有就是项目的扩展了,名字在各种项目里面几乎都是extension。加不加s倒是小问题了,项目的扩展功能或者部件。这样子项目的目录就完成了。第二部分就是利用的别的库了。比如你用qt库,opengl库,这些东西放到哪儿呢。就是external,这个在各种项目里面也是差不多。呵呵,第二部分就是这些了。第三部分就比较具体一些了,主要是小的方面。例如doc说明文档的目录,developer参与开发者的目录,sample入门的例子程序目录,license各种库或者协议的利用许可,tools如果项目中利用到这些工具就放到这个目录了。我见过的最大的项目程序20G,目录组织和我说的也是类似的 ,不过会有一个Public目录,一般存放sdk,不知道应该归到哪部分,暂时不提。看了这些那么cocos2d-x的目录就会很快的读懂了,甚至再遇见别的项目的目录也可以触类旁通了。我就不说了。
cocos2d-x的语言
我还没到实战的地步,不过也知道,主要的编程语言就是C++了,再者控制脚本语言就是lua和js了,不过创建工程的时候用到python。
总结
学习引擎的时候需要关注一个深入点,不是说不了解别的引擎,而是广泛的查阅以后,最后选择一个你认为比较好的去研究。研究一个以后你甚至可以自己写一个,哪个都是后话了。
这篇博客主要是关注cocos2d-x的讨论,没有什么实质的内容,不过讨论的越多才会越深入,了解的才会越多。
Cocos2d-x初识