一、简介

最近在做一个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简介的更多相关文章

  1. cocos2d-x 游戏开发之有限状态机(FSM) (四)

    cocos2d-x 游戏开发之有限状态机(FSM) (四) 虽然我们了解了FSM,并且可以写自己的FSM,但是有更好的工具帮我们完成这个繁琐的工作.SMC(http://smc.sourceforge ...

  2. cocos2d-x 游戏开发之有限状态机(FSM) (三)

    cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monk ...

  3. cocos2d-x 游戏开发之有限状态机(FSM) (一)

    cocos2d-x 游戏开发之有限状态机(FSM) (一) 参考:http://blog.csdn.net/mgphuang/article/details/5845252<Cocos2d-x游 ...

  4. cocos2d-x 游戏开发之有限状态机(FSM) (二)

    cocos2d-x 游戏开发之有限状态机(FSM)  (二) 1 状态模式

  5. 《Cocos2d-x游戏开发实战精解》学习笔记4--实战一个简单的钢琴

    上一节学习了使用Cocos2d-x播放音乐的方法,但是那种方法一般只适合于播放较大的音乐,而一般比较短小的音乐(如游戏中的打斗.按键音效等)则要通过playEffect来播放.本节使用该方法以及之前学 ...

  6. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

  7. cocos2d-x游戏开发实战原创视频讲座系列1之2048游戏开发

     cocos2d-x游戏开发实战原创视频讲座系列1之2048游戏开发 的产生 视持续更新中.... 视频存放地址例如以下:http://ipd.pps.tv/user/1058663622     ...

  8. Cocos2dx游戏开发系列笔记13:一个横版拳击游戏Demo完结篇

    懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 ) 写下这些东西的同时 旁边放了两部电影 周星驰的<还魂夜> 甄子丹的<特殊身份& ...

  9. cocos2d-x游戏开发系列教程-前言

    cocos2d-x游戏开发前景: 最近企业对于Cocos2D-X开发人才的用人需求很大,而且所提供的薪资相当可观. 为满足广大向往游戏开发行业同学的需求,特推出适合新手的Cocos2D-X手游开发教程 ...

随机推荐

  1. poj1923 Fourier's Lines

    思路: 记忆化搜索. n条直线的交点方案数 =(n-r)条平行线与r条直线交叉的交点数+r条直线本身的交点方案 =(n-r)*r+r条直线之间本身的交点方案数(0<r<=n) 于是可以枚举 ...

  2. Python安装笔记

    1.教程

  3. 通过Maven将指定Jar包下载到指定的本地目录

    现在大家大部分都通过Maven等工具来管理包,但是特殊情况下还是需要将包下载到本地.我们可以通过maven命令来完成这个需求.创建一个pom.xml文件,文件内容如下: <?xml versio ...

  4. facade模式-服务-配置----系统生成与配置

    facade模式对外提供一组相关服务: 对内整合子系统: facade模式的创建过程需要依赖外部的配置. 配置完成以后才能使用服务. 推广开来,所有系统都需要生成与配置,然后才能对外提供服务.

  5. UI开发模式-容器模式

    UI开发模式-容器模式 通用容器: 配置容器.

  6. Java运算符法则

    JAVA运算符法则 运算符是一种特殊的符号,用于表示数据的运算,赋值和比较等: 算术运算符 正号+,负号-,加+,减-,乘*,除/,余或取模%,自增++,自减--,字符串相加+ 正号负号运算符代表运算 ...

  7. SpringMVC-Mybatis整合和注解开发

    SpringMVC-Mybatis整合和注解开发SpringMVC-Mybatis整合整合的思路在mybatis和spring整合的基础上 添加springmvc.spring要管理springmvc ...

  8. Script:shell脚本生成随机字符串

    #!/bin/bash # bash generate random alphanumeric string # # bash generate random character alphanumer ...

  9. P1616 疯狂的采药(洛谷,动态规划递推,完全背包)

    先上题目链接:P1616 疯狂的采药 然后放AC代码: #include<bits/stdc++.h> #define ll long long using namespace std; ...

  10. SQL Server数据库基础编程

    转载,查看原文 Ø Go批处理语句 用于同时执行多个语句 Ø 使用.切换数据库 use master go   Ø 创建.删除数据库 方法1. --判断是否存在该数据库,存在就删除 if (exist ...