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. 第1部分: 游戏引擎介绍, 渲染和构造3D世界

    原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com ---------------------------------------------- ...

  2. Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  3. H2Engine服务器引擎介绍

    H2Engine服务器引擎介绍 简介 H2Engine服务器引擎架构是轻量级的,与其说是引擎,个人觉得称之为平台更为合适.因为它封装的功能非常精简,但是提供了非常简洁方便的扩展机制,使得可以用C++. ...

  4. {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用

    MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...

  5. mysql 存储引擎介绍

    一  存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点. 在讲清楚什么是存储引擎之前,我们先来个比喻, ...

  6. MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下   数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...

  7. Nancy 学习-视图引擎 继续跨平台

    前面一篇,讲解Nancy的基础,以及Nancy自宿主,现在开始学习视图引擎. Nancy 目前支持两种 一个是SSVE 一个是Razor.下面我们一起学习. The Super Simple View ...

  8. [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下   数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...

  9. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...

随机推荐

  1. vue cli3.0 build 打包 的 js 文件添加版本号 解决 js 缓存问题

    在 vue.config.js 的文件中加入下面这段话 // vue.config.jsconst Timestamp = new Date().getTime();module.exports = ...

  2. ⽤运营的思路来做无线产品測试-第13届BQConf上的分享

    ⽤运营的思路来做无线产品測试,在2014.10.25.第13届B'QConf(北京软件质量大会)上分享的一个主题.主要是关于京东无线測试的一些实践,包含android和ios的代码覆盖率.无线的接口自 ...

  3. C语言之文件操作08——总结

    C程序的文件操作共涵盖7个例题,包括格式打印,文件读取,条件查找,矩阵的文件操作,数据格式输入及调用计算等内容. 文件操作使得程序有更强的拓展性,使其能够单独保存数据.这为程序的调试和优化打下了坚实的 ...

  4. Java并发编程(五):Java线程安全性中的对象发布和逸出

    发布(Publish)和逸出(Escape)这两个概念倒是第一次听说,不过它在实际当中却十分常见,这和Java并发编程的线程安全性就很大的关系. 什么是发布?简单来说就是提供一个对象的引用给作用域之外 ...

  5. swift -变量的定义与使用

    使⽤用let来声明常量,使⽤用var来声明变量. ⼀一个常量的值在编译时并不须要获取,可是你仅仅能为它赋值⼀一次.也就是说你能够⽤用常量来表⽰示这样⼀一个值:你仅仅须要决定⼀一次,可是须要使⽤用非常多 ...

  6. [华为机试练习题]5.IP地址推断有效性

    题目 推断输入的字符串是不是一个有效的IP地址 具体描写叙述: 请实现例如以下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符 ...

  7. 如何查看VisualStudio的编译, 链接命令

    VisualStudio默认是不显示编译命令的,如何查看呢. 对于链接器: 项目属性 -> 配置属性 -> 链接器 -> 常规 -> 显示进度 -> 设为 "/ ...

  8. 如何让linux加载当前目录的动态库

    debian从7.0开始支持multiarch,64位库的路径改到/usr/lib/x86_64-linux-gnu了,mint.ubuntu这些衍生版有没有跟着改我就不清楚了. deepin lin ...

  9. Flex桌面AIR软件日志添加

    日志包装类 package log { import com.adobe.air.logging.FileTarget; import flash.filesystem.File; import fl ...

  10. eclispe luna 安装subversive和svn connector插件

    1. subversive安装 下载地址: http://www.eclipse.org/subversive/latest-releases.php 或者在eclipse luna的marketpl ...