cocos2d-x引擎是什么

在学习游戏的时候就有意的搜索这方面的知识,知道游戏须要游戏引擎,引擎听着非常厉害,只是就是一个游戏框架。

或许某一个游戏框架火起来了,就非常流行了,只是我觉得不论什么游戏引擎对小白来说都是有借鉴意义的。

说起小白了,我给不同知识领域的人起了不同的名字。什么也不知道的叫小白,稍微懂一些的人叫小灰。专业能应用知识的人叫做小黑,呵呵,临时这篇文章是小灰给小白传授知识的。回过头来,cocos2d-x主要还是关注2d程序方面的制作。当然游戏比較有用,只是,你写别的程序是全然能够的。

引擎的部件

我在网络上查阅了不少资料,慢慢的就总结出来了。一个引擎基本的就是四个方面。图形系统,物理系统,网络系统和音频系统,这四个部件就构成了最基本的商业引擎。各种开源的引擎就是专注实现这些部分或者一部分,毕竟没有资金支持,比如我所喜欢的orge就在图形方面很出色,其它的比方网络就有些空白了。那么cocos2d-x都有那些部件呢。这个作为一个略微成熟的流行的引擎四个部件都是有的。依照官网的描写叙述,另一个脚本部件。如图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW9uc2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

这张图的地址在

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了,只是创建project的时候用到python。

总结

学习引擎的时候须要关注一个深入点,不是说不了解别的引擎。而是广泛的查阅以后,最后选择一个你觉得比較好的去研究。

研究一个以后你甚至能够自己写一个,哪个都是后话了。

这篇博客主要是关注cocos2d-x的讨论,没有什么实质的内容,只是讨论的越多才会越深入,了解的才会越多。



Cocos2d-x初识的更多相关文章

  1. 【Cocos2D研究院之游戏开发】

    http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发]   201211-19 Co ...

  2. Cocos2d-x v3.1 初识(一)

    Cocos2d-x v3.1 初识(一) Cocos2d-x从以前苹果平台上的Cocos2d发展而来,版本已经更新到了3.1.1.作为一个跨平台的游戏开发引擎,现在已经被上百个国家在使用,这也是国人的 ...

  3. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  4. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  5. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  6. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  7. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  8. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  9. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  10. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

随机推荐

  1. Leetcode33--->Search in Rotated Sorted Array(在旋转数组中找出给定的target值的位置)

    题目: 给定一个旋转数组,但是你不知道旋转位置,在旋转数组中找出给定target值出现的位置:你可以假设在数组中没有重复值出现 举例: (i.e., 0 1 2 4 5 6 7 might becom ...

  2. Linux Shell系列教程之(十)Shell for循环

    本文是Linux Shell系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,今天就为大家介绍下Shel ...

  3. php中 ob_start()有什么作用

    <?php ob_start(); //开启缓冲区 echo "这是第一次输出内容!\n"; $ff[1] = ob_get_contents() ; //获取当前缓冲区内容 ...

  4. HDU——1397Goldbach's Conjecture(二分查找+素数打表)

    Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot ...

  5. BZOJ2285 [SDOI2011]保密 【01分数规划 + 网络流】

    题目 现在,保密成为一个很重要也很困难的问题.如果没有做好,后果是严重的.比如,有个人没有自己去修电脑,又没有拆硬盘,后来的事大家都知道了. 当然,对保密最需求的当然是军方,其次才是像那个人.为了应付 ...

  6. websphere启用高速缓存导致问题

    环境:websphere 7 一个流程主页,里面include了上面这个页面,内部有一个iframe: 现象:项目发布在测试环境中,打开流程主页时,里面iframe内页显示不出来: 同样的jsp页面, ...

  7. bzoj3924 [Zjoi2015]幻想乡战略游戏 点分树,动态点分

    [BZOJ3924][Zjoi2015]幻想乡战略游戏 Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网 ...

  8. python 面向对象与类的基本知识

    一  什么是面向对象,面向对象与类的关系. 面向对象的程序设计是用来解决扩展性. 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象 ...

  9. hdu 6118 度度熊的交易计划

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  10. ckeditor小记

    widget 只要创建都会执行 init函数,可以绑定事件,但是如果widget释放了,其上绑定的时间也就没有了