cocos2d-x安装以及HelloWorld

1.            下载Cocos2d-x

到官网下载最新版本的Cocos2d-x,目前最新版本是v3.3rc0。下载地址:http://cocos2d-x.org/download

下载的Cocos2d-x为.zip文件,解压到任意目录(e.g.:/Users/huangzheng/Documents),如图1所示,即为解压后的文件目录。


图1cocos2d-x 3.3rc0解压后的文件目录

2.     下载Xcode

Mac电脑中一般安装有Xcode,如果已经安装,则不需要下载,没有安装,需要在AppStore中下载安装Xcode,目前最新版本为Xcode 6.2beta,这个版本需要开发者账号,如果没有开发者账号,可以选择下载Xcode 6.1版本。Xcode 6.2beta下载地址为:https://developer.apple.com/xcode/,Xcode 6.1直接在AppStore中搜索Xcode安装即可。

3.     创建第一个测试项目

Cocos2d-x v3.3rc0无法在Xcode中添加模板,需要使用终端创建第一个测试项目。

1)  打开终端(FinderàApplicationsàUtilitiesàTerminal)。

2)  在终端中进入到Cocos2d-x目录下的/tools/cocos2d-console/bin目录下(e.g. :cd /Users/huangzheng/Documents/cocos2d-x-3.3rc0/tools/cocos2d-console/bin)。


图2:在终端中键入命令,进入到cocos2d-x的bin目录下

3)  键入命令 python cocos.py newProjectName –p PackageName -l cpp -d dir。

(e.g. : python cocos.pynew HelloWorld -p com.CityU.hz -l cpp -d ~/Desktop)

ProjectName:新建项目的名称。PackageName:新建项目最终打包的包名。-l :使用的开发语言的类型(3中语言类型可以选择:cpp、lua、js)。-d :新建项目存放的位置。创建好的项目如图3所示。

图3:新建第一个cocos2d-x项目HelloWorld

4)   进入到新建项目的proj.ios_mac目录下,使用Xcode打开新建的项目。

图4:新建的项目HelloWorld的文件目录


图5:proj.ios_mac的文件目录

双击“HelloWorld.xcodeproj”即可使用xcode打开新建的项目。

5)  运行新建的项目。


图6:Xcode打开新建的项目

点击左上角的三角符号,即可运行新建的项目(编译,运行,需要等待一段时间)。最终运行界面如图7所示。


图7:运行新建的项目

4.     在iPad上运行新建的项目

 

5.     程序启动流程。

在IOS的应用上,上层使用Object-C进行编写,C++主要编写的是平台无关代码。上层调用C++写的平台无关代码,实现游戏的动画、逻辑。

程序启动流程如图8所示。


图8:底层调用关系图

main函数首先调用AppController,AppController实例化一个EAGLView对象,并且定义Pixel Formate,Depth Formate等,使用EAGLView对象来使用OpenGL ES在屏幕上进行图像以及动画的绘制。接着调用startMainLoop,startMainLoop是一个无限的循环,直到用户调用exit则退出循环,在startMainLoop中调用AppDelegate,运行用户编写的代码。

6.    编写自定义的cocos2d-x项目。

在Cocos2d-x引擎中,采用节点树形构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以划分为不同的层次,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于节点类Node)。可以执行Action来修改游戏节点的属性,使其移动、旋转、放大、缩小等等。

每一个时刻都有一个场景在独立运行,通过切换不同的场景来完成一个游戏流程,游戏流程的管理由Director来执行,其基本框架类图如图所示。

图9 : 基本框类图

Director是整个Cocos2d-x引擎的核心,游戏中的一些重用操作就是有Director来控制的,比如OpenGLES的初始化、场景的转换、游戏暂停继续的控制、世界坐标和GL坐标之间的转换、对节点(游戏元素)的控制等、一些游戏数据的保存调用、屏幕尺寸的获得等。在cocos2d-x3.3rc0中,通过Director::getInstance();获取得到Director的实例对象,Director使用了单例模式。

Scene是cocos2d-x中必不可少的元素,屏幕上显示的画面就是一个scene,在开发中一个一个场景的切换,就是一个一个scene的切换。 。Director操作Scene有几种常用的方法:

·     runWithScene(Scene *scene); 主程序第一次启动场景的时候调用。

·     pushScene(Scene *scene); 将当前的场景压入栈中,显示传入的Scene。

·     replaceScene(Scene *scene);销毁当前的场景,显示传入的Scene。

·     popScene();销毁当前的场景,显示栈顶得Scene,如果栈为空,则结束应用。

Layer通常包含的是直接在屏幕上呈现的内容,并且可以接受用户的输入事件,包括触摸、加速度计、键盘输入等。在层中可以加入Sprite、Label等游戏元素。组织好Layer之后,需要将Layer按顺序加入到Scene中就可以显示。添加方法为addChild();

Sprite是屏幕上显示的游戏元素,可以对Sprite进行移动、旋转、缩放、执行动画等。

Cocos2d-x 在代码编写风格上遵循了Object-C的编写风格,生成新的对象很多都使用create()方法。例如:

autoscene = Scene::create();

autolayer = HelloWorld::create();

auto menu= Menu::create(closeItem,NULL);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值