前言

知易的cocos2d-iphone游戏开发教程帮助不少人开始了游戏开发之旅,我们由衷地感谢他。这套教程已经发表了一年多时间,在这段时间里,随着cocos2d-iphone的升级,接口发生了不少变动。在我们这些用惯了C++的人眼里,ObjC的代码看上去总是怪怪的。所以我将知易的教程向我使用的cocos2d-1.0.1-x-0.11.0做了一次移植,希望对学习cocos2d-x的朋友有所帮助。

谁也不知道cocos2d-x的接口何时会发生变动,如果本教程的代码在你使用的版本上遇到问题,你可以到 http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Upgrade_Guides 查看升级指南。

本文说不上是原创,我只是将知易教程中的cocos2d-iphone代码替换成当前可用的cocos2d-x代码,就算是移植吧。我尽量保持原文结构,望知易不要介意。

安装cocos2d-x

无论是什么引擎或者什么库,我都推荐大家从最新的稳定版本开始入手。这个方法几乎总是对的。访问 http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download 页面来获取最新的cocos2d-x引擎。
我使用的是Microsoft Visual C++ 2010 学习版以及cocos2d-1.0.1-x-0.11.0 这一点以后就不再重复说明了。
官方教程中是通过 build-win32.bat 编译整个引擎,但运行批处理可能会被个别病毒防御软件拦截,我们这里直接通过VC的IDE环境编译。
将下载的文件解压缩到任意目录,双击对应的解决方案(我这里是cocos2d-win32.vc2010.sln)启动VC开发环境。然后生成解决方案,对整个工程进行编译。

待编译完成后,将HelloWorld设为启动项目,运行。

对于那些小倒霉蛋儿,如果演示示例在你的电脑上不能正常运行,你可以访问 http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Chapter_1_-_How_to_Create_a_New_cocos2d-x_project_on_multi-platforms#15-Portal-for-unlucky-guys 来寻求帮助。

创建你的第一个cocos2d-x应用

完全手动为项目配置cocos2d-x是非常繁琐的,好在开发人员为我们提供了项目模板,你只需要轻轻双击install-templates-msvc.bat就可以将他安装到VC中去。有了这个神兵利器我们就可以开始神奇的cocos2d-x之旅了。
右键单击“解决方案'cocos2d-win32.vc2010'”,选择“添加 -> 新建项目”

然后在“已安装的模板”内选择“Cocos2d-x -> Cocos2d-win32 Application”,并填写名称“ZYG001”。存储位置使用默认的,不要改变,否则模板配置的项目路径就失效了。

单击“确定 -> 下一步”,来到cocos2d-x的特性选择页面。

根据你的实际需要选择包含哪些引擎特性。在这里我们只是想要做个简单的演示,物理引擎和声音引擎都是不需要的,所以我们将默认的对勾去掉。

当你点击Finish按钮之后,向导会自动帮你生成一个简单的cocos2d-x应用。

虽然他是简单的,但他是完整的,你只需编译一下,然后就可以运行,并查看结果了。

对cocos2d-x项目的初步分析

根据上面的截图可以看出,项目默认分Classes Resources win32三个文件夹。
Classes下存放的是程序的主要源代码,
Resources下放的是资源文件,
win32目录下的文件是平台相关的,99%的情况下不需求变动。
1)主程序入口
打开main.cpp可以看到如下代码

 1 #include "main.h" 2  3 #include "AppDelegate.h" 4  5 int APIENTRY _tWinMain(HINSTANCE hInstance, 6                        HINSTANCE hPrevInstance, 7                        LPTSTR    lpCmdLine, 8                        int       nCmdShow) 9 {10     UNREFERENCED_PARAMETER(hPrevInstance);11     UNREFERENCED_PARAMETER(lpCmdLine);12 13     // create the application instance14     AppDelegate app;15 16     return cocos2d::CCApplication::sharedApplication().run();17 }

看起来是不是有点儿像MFC的CWinApp呢?
2)AppDelegate的使用
实际上AppDelegate是从CCApplication派生出来的。作为初学者,目前只需要注意1个成员函数,那就是applicationDidFinishLaunching。他负责初始化CCDirector并创建第1个CCScene供程序显示。

 1 bool AppDelegate::applicationDidFinishLaunching() 2 { 3     // initialize director 4     CCDirector *pDirector = CCDirector::sharedDirector(); 5     pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); 6  7     // enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices. 8 //  pDirector->enableRetinaDisplay(true); 9 10     // turn on display FPS11     pDirector->setDisplayFPS(true);12 13     // set FPS. the default value is 1.0/60 if you don't call this14     pDirector->setAnimationInterval(1.0 / 60);15 16     // create a scene. it's an autorelease object17     CCScene *pScene = HelloWorld::scene();18 19     // run20     pDirector->runWithScene(pScene);21     return true;22 }

小结

通过本章内容,我们对cocos2d-x引擎有了一个初步的体验,从下一章开始,我们将详细讲解该引擎的内部特性和功能。为了让大家可以从掌握全局架构逐步深入到熟练细节,我们将从游戏编程的基本概念开始逐步学习。

转载于:https://www.cnblogs.com/cocos2d-x/archive/2012/02/27/2370167.html

知易游戏开发教程cocos2d-x移植版001相关推荐

  1. 知易游戏开发教程cocos2d-x移植版

    http://blog.sina.com.cn/s/blog_7018d382010116wd.html 基本概念 为了全面掌握cocos2d-x的开发,我们首先需要了解该引擎的几个基本概念.实际上, ...

  2. 游戏开发教程cocos2d-x移植之一

    前言 知易的cocos2d-iphone游戏开发教程帮助不少人开始了游戏开发之旅,我们由衷地感谢他.这套教程已经发表了一年多时间,在这段时间里,随着cocos2d-iphone的升级,接口发生了不少变 ...

  3. [libGDX游戏开发教程]使用LibGDX进行游戏开发(1)-游戏设计

    声明:本章是一个系列的开始,英文原文是<Learning libGDX Game Development>,大家请周知. [libgdx游戏开发教程]使用Libgdx进行游戏开发(2)-游 ...

  4. 仙剑奇侠传 游戏 开发 教程 Xianjian qixia development Game development tutorial

    仙剑奇侠传 开发  游戏 开发 教程 Xianjian qixia development Game development tutorial 作者:韩梦飞沙 Author:han_meng_fei_ ...

  5. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  6. 微信小游戏开发教程-游戏实现3

    微信小游戏开发教程-游戏实现3 对象池 由于游戏过程中会创建很多临时对象,这些对象很快又不再使用,垃圾回收器也能帮我们主动回收这部分垃圾,但是回收时间不可控制,同时增大了创建对象的开销,所以我们使用对 ...

  7. 微信小游戏开发教程-游戏实现2

    微信小游戏开发教程-游戏实现2 绘制地面 类似于绘制背景,读者自行完成代码.src/runtime/land.js 简易View系统 坐标布局对于复杂的页面来说维护相当困难,因此这里我们引入布局的概念 ...

  8. 微信小游戏开发教程-游戏实现1

    微信小游戏开发教程-游戏实现1 概述 微信开发者工具官方提供一个飞机大战的游戏Demo,这里我们不再使用这个demo,我们以FlappyBird为例,为了让读者更加容易理解. 源码 https://g ...

  9. 微信小游戏开发教程-2D游戏原理讲解

    微信小游戏开发教程-2D游戏原理讲解 原理 为了更加形象的描述,这里先上一张图: 背景 a. 首先,我们看到背景好像是一张无限长的图片在向下移动.实际则不然,这是一张顶部和底部刚好重叠的图片.这是一种 ...

最新文章

  1. linux的android工作室,Android工作室在启动时抛出错误,linux机器
  2. nginx 修复固定链接404
  3. Asp.net页面间传值方式汇总
  4. oracle数据库sysaux表空间,如何管理oracle数据库的SYSAUX表空间
  5. 滑动窗口最大值--单调队列
  6. redis源码分析 ppt_Redis源码分析之客户端+数据库
  7. Android面试,BroadCastReceiver的两种注册方式的异同
  8. GCC + pthread
  9. 数学系鄙视物理系的经典桥段,全部看懂了算我输!
  10. SDOI 2017R2游记
  11. 解析全球热点安全事件背后的玄机
  12. 190509每日一句
  13. 原创 | 职场二十年(一)电话风波
  14. 极域电子教室软件怎么脱离控制_如何制定职业发展目标,才能避免“现实发展脱离职业规划”的问题...
  15. Spring学习的书-夏昕(2)
  16. 抖音小程序是什么_如何开发抖音小程序
  17. 【Python 基础教程】Python语言中的数据类型(二)
  18. Avaya PBX sip trunk对接第三方sip server传递UUI的方法
  19. c语言响铃编程,C语言C加加编程新手快速入门基础学习
  20. jndi weblogic mysql_WebLogic配置JNDI数据源及在项目的使用方法

热门文章

  1. 从0开始学golang--1--部署本地服务器
  2. 【转】TCP/IP协议——ARP详解
  3. 基于‘BOSS直聘招聘信息’分析企业到底需要什么样的PHPer
  4. 设计模式学习笔记(1)——单例模式
  5. [GCJ] Qualification Round 2017
  6. 使用Google App Engine开始新的网站开发学习
  7. 2014校招 百度试题及答案
  8. 利用c#开发一个telnet unix服务器或者防火墙的小工具(转)
  9. DMA流程简介--CPU/内存/网卡之间的交互
  10. 利用dynamoRIO实现codeCoverage