一、简介

最近在做一个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. CF864D Make a Permutation!

    思路: 贪心,构造,模拟. 实现: #include <bits/stdc++.h> using namespace std; ], a[], vis[], n; int main() { ...

  2. python的机器学习之路

    2018-04-1712:22:40 这是python依靠计算机视觉进行的ocr手写字的识别. 通过KNN训练数据 kNN 可以说是最简单的监督学习分类器了.想法也很简单,就是找出测试数据在特征空间中 ...

  3. VC++代码转换为QT代码问题总结

    一边开发一边总结......  QQ937113547

  4. nginx平滑升级实战

    Nginx 平滑升级 1.查看旧版Nginx的编译参数 [root@master ~]# /usr/local/nginx/sbin/nginx -V [root@master ~]# ll ngin ...

  5. Android studio 开发一个用户登录界面

    Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8&qu ...

  6. 行内块+calc+margin 三列布局

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. 浮动和margin负值 三列布局

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. anaconda镜像

    下载一个包老是下载不下来,于是放弃了官方版改为国内镜像. 清华镜像 (打开Anaconda Prompt   或者 打开cmd,运行下面的命令) conda config --add channels ...

  9. Python学习-比较运算符和逻辑运算符

    比较运算符 == 等于 - 比较对象是否相等 print(3 == 4); //False != 不等于 - 比较两个对象是否不相等 print(3 != 4); // True    <> ...

  10. Mac 当xampp里mysql无法启动的解决办法

    sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start