Cocos2d-x 学习之引擎介绍
Cocos2d-X是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C + +cocos2d-iPhone项目的版本。cocos2d-X发展的重点是围绕cocos2d跨平台。即其实现一次编码,再各平台分别编译后即可运行,不许为跨平台修改大量代码,不需要在一直方面花费很多时间和人力,目前cocos2d-x引擎已经可以跨以下平台:
● iOS
● Android
● Windows XP / Windows 7
● Meego
● BlackBerry
● Bada
● Marmalade (原名airplay, 一个c++跨平台框架)
其除跨平台外,相对其它的移动游戏引擎还有以下特点
● 易用性:易于学习掌握的API,大量示例代码和文档,有c++语言功底的新手只需画一个月就能上手完成简单游戏;
● 高效性:使用OpenGL ES 1.1最佳方式进行渲染;
● 灵活性:易于扩展,易于与其他开源库集成使用;
● 活跃的社区:全球化的活跃论坛。
● 成功商用:根据开源社区的保守统计,基于Cocos2d-x开发的游戏全球范围内已经突破一亿安装量。
Cocos2d-x 提供主要功能:
非常容易低进行不同场景之间的流程控制管理
菜单维护简单
支持标签和html标签的文本渲染
快速而方便的精灵
按照你的想法指挥精灵变化,可组合的动作,包括移动、旋转和缩放
支持包括波浪、旋转和透镜等特效
支持矩形和六边形的瓦片地图(Tiled Maps)
支持场景切换特效
支持粒子系统
支持硬件加速,即基于opengl es 1.1实现图形渲染系统
支持音效和背景音乐支持(CocosDenshion库)
基础物理引擎Box2d和chipmunk
根据不同屏幕分辨率自动缩放适配
Lua脚本支持。
关于cocos2d-x中的“X”,“X”有两意思,一个是表示“C++”,因为有时候,C++文件的后缀名可以用cxx代替,因此X便表示该开源项目使用C++编写,并且提供C++的API,二是表示“Cross”,该开源项目的目标是跨更多平台。
·什么是“X”cocos2d-X方式:◦有时候,我们写的cpp文件扩展CXX。“X”,标志着该项目是由C + +中,并提供C + +中的API编写的。 ◦“X”,也意味着交叉。这个开源项目的目标是让用户创建跨平台的代码。目前支持的平台是在iPhone,Android的,WoPhone,Win32平台上,但可根据要求提供更多的平台。
Cocos2d-x其他版本介绍
Cocos2d:是所有cocos2d引擎的家族的鼻祖,最早是有阿根廷一个叫Rcardo Quesada的人用Python脚本写的,其主要用来开发2d游戏和基于2d图形的任何应用,第一次发布是2008年2月29日,官方网站是http://www.cocos2d.org
Cocos2d-iphone:是基于cocos2d的思想开发的,第一版在2008年6月25号发布,其基本是与苹果ios一起成长起来的,凭借着使用object-c语言和SDK的无缝衔接的优势,获得了广大果粉开发者的追捧和喜爱,现在已成为苹果ios上2d游戏引擎的首选。官方网站是http://www.cocos2d-iphone.org
Cocos2d-x for xna :2012年2月17日,著名的开源社区Cocos2d发布Cocos2d-X for XNA版本。该游戏引擎针对微软最新移动操作系统Windows Phone 7平台,开发者可以采用C#语言开发基于Windows Phone平台的游戏,而无需学习XNA绘图接口。据悉,该游戏引擎由Cocos2d-X团队和OpenXLive合作开发。OpenXLive是Windows Phone上最早的游戏社交平台。其下载地址:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download
Cocos2d-windows:cocos2d的windows实现,使用GPL V3协议发布,该分支是由一位韩国人所在,但和大多数开源项目一样,在一次较大范围的提交之后就无小心了,没有留下文档,也没有更新,官方网站是:http://code.google.com/p/cocos2d-windows
Cocos3d:cocos2d的3D实现,由加拿大人Bill Holling开发和维护,cocos3d不是一个完全的3d引擎,而是在cocos2d的CCLayer层上面扩展出3d世界,以cocos2d-ihpone扩展包的形式运行,官方网站是:http://www.cocos3d.org
Cocos2d-andoid:是cocos2d的java实现,并且能够在Android上运行,使用BSD协议发布,官方网站是http://code.google.com/p/cocos2d-android
Cocos2d-javscript:cocos2d的javascript实现,由一个新西兰程序员建立和维护,其把cocos2d整套框架一到了Html5和javascript上面了,官方网站是:http://cocos2d-javascript.org
不过目前在cocos2d-x官方上已经有cocos2d-html5发布了。
ShinyCocos:把cocos2d-iphone绑了ruby实现,官方网站:http://github.com/funkaster/shinycocos
Cocos2d-x 学习之引擎介绍的更多相关文章
- 第1部分: 游戏引擎介绍, 渲染和构造3D世界
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com ---------------------------------------------- ...
- Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍
Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...
- H2Engine服务器引擎介绍
H2Engine服务器引擎介绍 简介 H2Engine服务器引擎架构是轻量级的,与其说是引擎,个人觉得称之为平台更为合适.因为它封装的功能非常精简,但是提供了非常简洁方便的扩展机制,使得可以用C++. ...
- {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用
MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...
- mysql 存储引擎介绍
一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点. 在讲清楚什么是存储引擎之前,我们先来个比喻, ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- Nancy 学习-视图引擎 继续跨平台
前面一篇,讲解Nancy的基础,以及Nancy自宿主,现在开始学习视图引擎. Nancy 目前支持两种 一个是SSVE 一个是Razor.下面我们一起学习. The Super Simple View ...
- [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...
随机推荐
- Asp.Net MVC之防止用户注入脚本参数
假设有一个Controller,代码如下: public string Browse(string genre) { string message = "Store.Browse, Genr ...
- python-创建列表
创建个空列表 album = [] 创建非空列表 album = ['Black Star','David Bowie',25.True] 向列表中添加新的元素 append 方法,元素自动地排列到列 ...
- [转载]一种高性能Hierarchical RBAC实现方案
背景 框图 上图中,Role和被设置Permission的Resource都是可以有任意层级继承关系的. 举例 举一个网站的例子来说: 如果,User表示网站用户:Role表示角色:Resource表 ...
- Spark-shell 无法启动之网络问题
由于需要首次手动安装sbt,需要联网,故将虚拟机的网络适配器模式设置为"桥接模式",这样就可以和互联网相连接. 但是后面执行"spark-shell --master ...
- 通道符和xargs命令
通道符“|“:是将前一个命令的输出做为后一个命令的标准输入.注意:这里的标准输入指的是:通道符右侧命令的处理内容,也就是说左侧的标准输出不能作为右侧命令的参数,只能作为命令的处理对象. 简单讲:只有通 ...
- Atitit. WordPress 4.2.2新特性对比 attilax总结
Atitit. WordPress 4.2.2新特性对比 attilax总结 1. WordPress 2.9带来的新特性 1 2. WordPress3.0最为突出的五个新特征 2 3. WordP ...
- JAVA设计模式之 命令模式【Command Pattern】
一.概述 命令模式能够将请求发送者和接收者全然解耦.发送者与接收者之间没有直接引用关系,发送请求的对象仅仅须要知道怎样发送请求,而不必知道怎样完毕请求.核心在于引入了命令类,通过命令类来减少发送者和接 ...
- linux 查看可执行文件动态链接库相关信息(转)
转自 http://blog.sina.com.cn/s/blog_67eb1f2f0100mgd8.html ldd <可执行文件名> 查看可执行文件链接了哪些 系统动态链 ...
- javascript断点设置和调试
JS调试必备的5个debug技巧http://www.jb51.net/article/47812.htm Chrome 中的 JavaScript 断点设置和调试技巧http://www.xuebu ...
- 怎么解决ORACLE 中 CHAR类型的索引问题
在很多场景中,都有如下情况 trim(a.colunm1) = trim(b.colunm2) 应该怎么优化呢? 用到 TRIM 的很多原因是某些系统为了提高查询效率,不使用 ORACLE 的特有的 ...