Cocos2d-x入门教程(一)环境搭建与HelloWorld

声明:本教程的开发环境为Win32,并且目前只在此平台上做开发实验。平台的选择只考虑开发的方便,教程的关注点在于平台之上的层面。

为了搭建一个在Windows下的Cocos2d-x开发环境,我们需要:


1.安装VS(2010或者2012 Desktop),笔者安装的是VS Express 2012 For Desktop。

2.下载Cocos2d-x源码库。Cocos2d-x的Github地址 https://github.com/cocos2d/cocos2d-x ,你可以下载zip包解压,也可以用git/svn检出,需要提醒的是不要检出全部,否则你要等好一阵子,只要检Head Revision就可以了。

3.编译。拿到源码后你会发现有cocos2d-win32.vc2010.sln 和 cocos2d-win32.vc2012.sln 两个解决方案文件,根据你安装的VS版本,选择其中一个打开,然后生成解决方案。提醒:时间可能会稍微长点,另外js和lua的两个项目可能会有错,因为文件缺失,这个暂时先不管,因为不会影响cpp的开发,后面有需求在解决。

4.设置工作区。找到template文件夹下的msvc文件夹,哪里面有一些脚本,从名字可以看出他们的用途,运行你的VS版本所对应的脚本即可。提示成功安装之后,你在打开VS,新建项目,在Visual C++选项上你就可以看到多出一个Cocos2d-x-win32 Application项目。至此你的环境已经安装完成了。

下面我们稍微再多走一步。
在VS中选择文件-〉新建项目-〉Visual C++-〉Cocos2d-x-win32 Application,命名为HelloWord,确定之后你会发现VS已经为我们自动初始化了一个模版。将这个项目设为默认启动项目,然后执行运行命令,你就会看见一个Cocos2d-x Logo赫然在目。
对这个HelloWord项目你不需要去做别的,只要看懂他如何运行的即可,包括一些类的作用以及初始化顺序。

首先是AppDelegate类。这个类继承了CCApplication,而后者是一个与特定平台进行打交道的类,相当于系统与Cocos2d-x间的一个中间人,它继承自CCApplicationProtocol,正如其名称所示,他规定了一个不同平台间子类应该实现的共同接口。而针对每一个平台都可以实现一个CCApplication子类,我们在Win32平台下的CCApplication是针对Win32平台来实现的,你在源码中还可以找到其他平台的CCApplication类,这里就不再赘述。

因为AppDelegate继承了CCApplication类,所以当实例化AppDelegate对象时,CCApplication也会被调用,从而初始化一些必要的条件。但AppDelegate的作用不止于此,粗略地看一下AppDelegate的定义:

  1. class AppDelegate : private cocos2d::CCApplication
  2. {
  3. public:
  4. AppDelegate();
  5. virtual ~AppDelegate();

  6. /**
  7. @brief Implement CCDirector and CCScene init code here.
  8. @return true Initialize success, app continue.
  9. @return false Initialize failed, app terminate.
  10. */
  11. virtual bool applicationDidFinishLaunching();

  12. /**
  13. @brief The function be called when the application enter background
  14. @param the pointer of the application
  15. */
  16. virtual void applicationDidEnterBackground();

  17. /**
  18. @brief The function be called when the application enter foreground
  19. @param the pointer of the application
  20. */
  21. virtual void applicationWillEnterForeground();
  22. };
复制代码
他需要实现三个接口(构造函数不算),这些接口的作用从其名称上可以猜得一二,它们提供了一些契机,让AppDedegate可以选择地执行一些操作。

为了更深入的理解它我们需要搞清楚一个Cocos2d项目的初始化过程,见下图:
25021153-211874403e944274bd3f636789621ce4.jpg
2013-6-21 21:02:50 上传
下载附件 (67.07 KB)


读者可以结合断点调试来理解这个序列图。
刨去这个过程的一些细节,我们需要掌握这里面的一个主线,这个主线也是我们理解并运用Cocos2d-x的基础:

这一主线包括:
1.Application级别初始化。通过AppDelegate到CCApplication到CCApplicationProtocol。
2.openGL级别初始化。通过CCEGLView。
3.Director级别初始化。通过CCDirector,以CCEGLView对象为参数,CCDirector是一个核心控制类,他主导整个View。
4.Scene级别初始化。通过CCDirector来运行整个场景,以及进行场景切换。
Scene级别以上的三个都是单例,而Scene则可以有很多个,事实上Cocos2d游戏的实现逻辑即在于不同Scene间的切换。

相关资料均已上传至Github:https://github.com/Physwf/physwf-c-lab/tree/master/Cocos2d-x%20Tutorial


原文来自:http://www.cnblogs.com/physwf/archive/2013/04/25/3041517.html

原文地址:http://bbs.9ria.com/thread-218938-1-1.html



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值