Cocos2d-x初识
cocos2d-x引擎是什么
在学习游戏的时候就有意的搜索这方面的知识,知道游戏须要游戏引擎,引擎听着非常厉害,只是就是一个游戏框架。
或许某一个游戏框架火起来了,就非常流行了,只是我觉得不论什么游戏引擎对小白来说都是有借鉴意义的。
说起小白了,我给不同知识领域的人起了不同的名字。什么也不知道的叫小白,稍微懂一些的人叫小灰。专业能应用知识的人叫做小黑,呵呵,临时这篇文章是小灰给小白传授知识的。回过头来,cocos2d-x主要还是关注2d程序方面的制作。当然游戏比較有用,只是,你写别的程序是全然能够的。
引擎的部件
我在网络上查阅了不少资料,慢慢的就总结出来了。一个引擎基本的就是四个方面。图形系统,物理系统,网络系统和音频系统,这四个部件就构成了最基本的商业引擎。各种开源的引擎就是专注实现这些部分或者一部分,毕竟没有资金支持,比如我所喜欢的orge就在图形方面很出色,其它的比方网络就有些空白了。那么cocos2d-x都有那些部件呢。这个作为一个略微成熟的流行的引擎四个部件都是有的。依照官网的描写叙述,另一个脚本部件。如图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW9uc2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
这张图的地址在
支持的平台
基本的就是六个平台,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初识的更多相关文章
- 【Cocos2D研究院之游戏开发】
http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发] 201211-19 Co ...
- Cocos2d-x v3.1 初识(一)
Cocos2d-x v3.1 初识(一) Cocos2d-x从以前苹果平台上的Cocos2d发展而来,版本已经更新到了3.1.1.作为一个跨平台的游戏开发引擎,现在已经被上百个国家在使用,这也是国人的 ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 初识Hadoop
第一部分: 初识Hadoop 一. 谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- 初识IOS,Label控件的应用。
初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...
- UI篇(初识君面)
我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- 初识SpringMvc
初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
随机推荐
- Redhat7配置yum源(本地源和网络源)
Redhat7配置yum源(本地源和网络源) 目录 一:配置本地yum源 二:配置网络yum源 YUM(Yellow dog Updater Modified): yum是基于RPM包构建的软件更 ...
- 牛客网数据库SQL实战
查找最晚入职员工的所有信息 CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_ ...
- 如何正确遍历删除List中的元素
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合 ...
- CMMI5
了解CMMI5是什么? 这种解决问题的思想很有用.
- malloc&&free的系统运行机制及其源代码的理解
一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...
- curl保存图片
$url = 'http://p1.qhimg.com/t013dfc89f8a039122c.jpg?size=690x460'; function http_get_data($url) { $c ...
- how to write an front-end framework by using vanilla JavaScript?
how to write an front-end framework by using vanilla javascript? https://www.quora.com/How-can-I-mak ...
- docker (centOS 7) 使用笔记4 - etcd服务
本次测试的系统包含centos 7.2 64 bit,centos 7.3 64 bit 1. 安装 yum -y install etcd 2. 配置 此处一共准备了3台机器(10.10.10.10 ...
- 2016 Multi-University Training Contest 10 solutions BY BUPT
1001. 一个数组上的两个区间求中位数,可以通过分类讨论直接找到中位数,复杂度O(1).不过本题数据较小,优美的log(n)也可过. 1002. 直接求得阴影面积表达式即可. 1003. 二分完成时 ...
- django:访问本地静态文件的配置
1.在setting.py中新增如下配置,static为静态文件的目录,BASE_DIR为项目根目录 STATIC_URL = '/static/' STATIC_ROOT = os.path.joi ...