【Cocos2dx游戏开发】Cocos2d-x简介
一、简介
最近在做一个Android下的卡牌游戏——《九州幻想》开发项目,而我们使用的引擎是Cocos2dx,所以想要写写笔记来记录一下项目中的收获。当然首先稍微介绍一下Cocos2d-x引擎:cocos2d-x是一个免费、开源、跨平台的2D游戏引擎。
我们知道Cocos2d是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。最初cocos2d仅是一个用Python语言写的游戏框架,并没有什么商业价值。2008年,苹果手机的发展正盛,cocos2d社区抓住了这个机遇,开发出了cocos2d-iPhone版本,即用Objective-C语言替换Python重写了整个框架。由此,cocos2d-iPhone随着iOS的发展而迅速壮大。2010年,cocos2d已经成为iOS平台上首选的2D游戏框架。
2010年,Android迅速崛起并能与iOS抗衡的时候,开发者希望能够把游戏移植到Android平台上,于是cocos2d的另一个分支cocos2d-x被开发出来,框架用C++重写。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。还支持Windows、Mac和Linux等桌面操作系统。
二、整体框架
玩家玩游戏的过程其实就是在程序设置的场景之间进行跳转。那么一般一个游戏场景中的设计如下图:
我们如何将这样的一个游戏场景变为cocos2d-x的实现框架呢?那么我们就需要了解cocos2d-x中几个最基本的概念:
1)导演类(CCDirector)
在游戏里,导演类就是游戏创作的组织者和领导者,是游戏的总指挥,让游戏内的场景、布景和人物角色有序的运行,它是一个单例类。
2)场景类(CCScene)
在游戏里,场景就是一个个关卡,而一个关卡主要是由布景或层(CCLayer)和人物或精灵(CCSprite)组成。
3)层(CCLayer)
层就是上面所说的布景,一个场景中可以有多个层。
4)精灵(CCSprite)
人物、英雄、怪物等都是一个精灵,一个层中可以有多个精灵。
5)动作(CCAction)
游戏中,精灵所要执行的动作。
介绍了基本的几个概念之后,我们就可以把游戏场景的设计图变成Cocos2dx的实现设计图了,如下:
简单的介绍到这里,更多的我就不多说了,可以去看Cocos2dx游戏开发的教程比较好。
【Cocos2dx游戏开发】Cocos2d-x简介的更多相关文章
- cocos2d-x 游戏开发之有限状态机(FSM) (四)
cocos2d-x 游戏开发之有限状态机(FSM) (四) 虽然我们了解了FSM,并且可以写自己的FSM,但是有更好的工具帮我们完成这个繁琐的工作.SMC(http://smc.sourceforge ...
- cocos2d-x 游戏开发之有限状态机(FSM) (三)
cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monk ...
- cocos2d-x 游戏开发之有限状态机(FSM) (一)
cocos2d-x 游戏开发之有限状态机(FSM) (一) 参考:http://blog.csdn.net/mgphuang/article/details/5845252<Cocos2d-x游 ...
- cocos2d-x 游戏开发之有限状态机(FSM) (二)
cocos2d-x 游戏开发之有限状态机(FSM) (二) 1 状态模式
- 《Cocos2d-x游戏开发实战精解》学习笔记4--实战一个简单的钢琴
上一节学习了使用Cocos2d-x播放音乐的方法,但是那种方法一般只适合于播放较大的音乐,而一般比较短小的音乐(如游戏中的打斗.按键音效等)则要通过playEffect来播放.本节使用该方法以及之前学 ...
- 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音
<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...
- cocos2d-x游戏开发实战原创视频讲座系列1之2048游戏开发
cocos2d-x游戏开发实战原创视频讲座系列1之2048游戏开发 的产生 视持续更新中.... 视频存放地址例如以下:http://ipd.pps.tv/user/1058663622 ...
- Cocos2dx游戏开发系列笔记13:一个横版拳击游戏Demo完结篇
懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 ) 写下这些东西的同时 旁边放了两部电影 周星驰的<还魂夜> 甄子丹的<特殊身份& ...
- cocos2d-x游戏开发系列教程-前言
cocos2d-x游戏开发前景: 最近企业对于Cocos2D-X开发人才的用人需求很大,而且所提供的薪资相当可观. 为满足广大向往游戏开发行业同学的需求,特推出适合新手的Cocos2D-X手游开发教程 ...
随机推荐
- .Net实战之反射操作篇
1.上一讲中描述了反射中常见的类,仅仅是描述类与反射之间的关系. 但是实际是对数据的操作, 在反射中,数据如何操作? [MyTable("T_UserInfo")] publ ...
- P1044 栈
题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). 栈的重要性不言自明,任何 ...
- Object.assign() 对象的扩展
object.assign()方法用于对象的合并,将源对象的(source)的所有的可枚举属性,复制到目标对象(target) var target = {a:1}; var source1={b:2 ...
- day17-常用模块II (hashlib、logging)
目录 hashlib模块 撞库破解hash算法加密 logging模块 配置日志文件 hashlib模块 一般用于明文加密,其实就是一个自定义的字符编码表.原来0和1转换成字符,而现在的是字符转成另一 ...
- Uploadify上传大文件
一丶参考地址 <script type="text/javascript"> var auth = "@(Request.Cookies[FormsAuthe ...
- A useful logger function in C project.
#cat log.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include < ...
- BigDecimal运算
BigDecimal由任意精度整数未缩放值和32位整数级别组成 . 如果为零或正数,则刻度是小数点右侧的位数. 如果是负数,则数字的非标定值乘以10,以达到等级的否定的幂. 因此,BigDecimal ...
- 参考KOA,5步手写一款粗糙的web框架
我经常在网上看到类似于KOA VS express的文章,大家都在讨论哪一个好,哪一个更好.作为小白,我真心看不出他两who更胜一筹.我只知道,我只会跟着官方文档的start做一个DEMO,然后我就会 ...
- ionic3开发环境搭建与配置(win10系统)
1.安装nodeJS(不会的自行百度) 2.安装ionic和cordova,执行以下命令: npm install -g ionic cordova 3.安装Java JDK: 下载地址:http:/ ...
- 16监听器、Filter、Nginx、Spring、AOP
16监听器.Filter.Nginx.Spring.AOP-2018/07/30 1.监听器 监听web对象创建与销毁的监听器 ServletContextListener HttpSessionLi ...