文档介绍:Cocos ——《保卫萝卜》 03: Hello Gam e 项目解析一、前提: 完成 Hello Game 项目的创建编译。具体参考: Hello Game 项目创建二、本篇目标: ?分析 工程的主要构成??分析 工程的主要构成??新建一个 然后在游戏中显示出来??在 android 真机上运行查看效果?三、分析: 我们游戏开发通常是这样的, 首先在 Microsoft Visual Studio 2012 中 工程编写代码并且在 windows 上调试运行,当游戏主体开发完成后,进行 so 文件的编译打包, 然后继续在 eclipse 的 工程中编写少量的代码完成游戏在 android 平台下的打包开发。分析 工程的主要构成用 Microsoft Visual Studio 2012 打开 工程组成: 整个 hellogame 的解决方案由 hellogame 、 libbox2d 、 libcocos2d 、 libSpine 四个工程项目构成。 1 、 Hellogame 工程:游戏主工程,我们开发工作主要在这个工程中完成 2、 libbox2d 工程:模拟 2D 刚体物体的 C++ 物理引擎,大名鼎鼎植物大战僵尸、愤怒的小鸟等游戏均有这个引擎的功劳 3 、 libcocos2d 工程:这个不用说了,整个 Cocos2d-x 核心 4、 libSpine 工程:工具软件支持库接下来主要对 Hellogame 工程的代码进行解析, libbox2d 工程在后面的物理引擎篇的时候在进行讲解,至于其它 2 个工程在后续使用到的篇幅中在进行讲解。 Hellogame 工程的源代码: 工程主要由 src 目录下的 、 、 、 HelloWorldScene. h 四个源文件和 win3 2 目录下的 、 main. h 两个源文件组成。 src 目录下的源文件是所有 6 个平台共用的代码文件, 不管是 Android 还是 iOS 都使用这个目录下的源文件,属于真正跨平台部分的代码。 Win32 目录下的源文件只是一个 main 主入口文件,负责 win32 平台下对游戏的调用。其实在对应的 的工程里也有一个 Android 平台对应的 main 主入口文件, 只是由于平台的不同实现代码也各有不同,但是目的一样。 源代码: AppDelegate 类似于 android 的 Application 的作用,提供一些应用程序级别的状态的回调,整个游戏应用程序由这个文件方法进行控制。下面是几个主要方法的说明和解释: 123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 #include "" #include "" // 命名空间宏,偷懒引入 cocos2d 的头文件; AppDelegate::AppDelegate() { } AppDelegate::~AppDelegate() {} // 设置 OpenGL context // 这个设置对所有平台都有效 void AppDelegate::initGLContextAttrs() { // 设置 OpenGL context 属性,目前只能设置 6个属性//red,green,blue,alpha,depth,stencil GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8}; GLView::setGLContextAttrs(glContextAttrs); } // 当应用程序启动时执行,游戏程序启动入口// 在这里我们启动了第一个 scene (场景) // 在具体游戏中通常在这里启动 loading 界面// 你的游戏从这里开始! 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 bool AppDelegate::applicationDidFinishLaunching() { // 初始化 director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview