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可以包含任何数据 ...
随机推荐
- ant 入门级详解
ant 入门级详解 [转载的地址(也是转载,未找到原文地址)]https://www.cnblogs.com/jsfx/p/6233645.html 1,什么是antant是构建工具2,什么是构建 ...
- python - 文件处理/open
# -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_文件处理.py@ide: PyCharm Community E ...
- ACM程序设计选修课——Problem E:(ds:图)公路村村通(Prim)
问题 E: (ds:图)公路村村通 时间限制: 1 Sec 内存限制: 128 MB 提交: 9 解决: 5 题目描述 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本, ...
- 《快速开发》通过Maven创建WebService项目Hello World!
有多快? 整个过程3分钟.不用下载jar包,不用一步一步创建Web Project... 你需要的就是在Maven库里选一个archetype,然后一路Next~ 先看结果: 准备好了吗?我们起飞: ...
- Github管理 第二步:Eclipse+Github,管理Java Project版本(First Commit)
1.提醒 如果你的Eclipse和本文一样操作,却出现了不同的结果和莫名其妙的错误,换个Eclipse也许更快. 我用了2个Eclipse,第一个一步一个坑,第2个非常顺利…… 所以,继Windows ...
- java面试题之Thread类中的start()和run()方法有什么区别
start()方法被用来启动新创建的线程,而且start()内部调用了run()方法, 区别: 当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动: start()方法才会启动新 ...
- faster-rcnn 目标检测 数据集制作
本文的目标是制作目标检测的数据集 使用的工具是 python + opencv 实现目标 1.批量图片重命名,手动框选图片中的目标,将目标框按照一定格式保存到txt中 图片名格式(批量) .jpg . ...
- 用户认证系统 django.contrib.auth模块
一 导入auth模块 from django.contrib.auth.models import User from django.contrib import auth auth模块的操作针对的就 ...
- vue当中设置全局变量的方法
import fn from 'fn' Vue.prototype.fn = fn; 调用的时候 this.fn.way
- The Luckiest number(hdu 2462)
给定一个数,判断是否存在一个全由8组成的数为这个数的倍数 若存在则输出这个数的长度,否则输出0 /* 个人感觉很神的一道题目. 如果有解的话,会有一个p满足:(10^x-1)/9*8=L*p => ...