【Cocos2d-x游戏引擎开发笔记(1)】HelloWorld

时间:2023-02-08 23:06:42

 

原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/8266803

又是一个HelloWorld,在我的印象中,有C/C++的HelloWorld,C#的HellWorld,Java的HelloWorld,Android的HelloWorld,哎,又是一门Total New的知识,不过这次的HelloWorld是一个我最喜欢的HelloWorld,原因是这次是游戏开发的HelloWorld,我很喜欢玩游戏的,最喜欢的当然是DotA了。

 

闲话不多说,Cocos2d-x是一个跨平台的游戏引擎,跨的平台是iOS, Android, BlackBerry Playbook, Bada, Marmalade, Windows, Linux。开发语言是C++,这门语言可以保证游戏的运行速度足够快,前不久刚刚看完《C++ Primer》,现在正好小试牛刀,我的C++开发笔记请看C++ Primer学习笔记

 

 

在这里,我继续写下学习笔记,这样,一来可以巩固学习的知识,二来可以为以后的编程提供参考和源代码,最后方便大家的学习,让大家少走弯路,一起学习。

 

我认为开发游戏是大势所趋,可以用开发游戏的方法开发应用,这样的话,应用将会很酷。Ghohst团队就用Cocos2d-x开发了一个电子菜谱的程序,真的很酷,视频地址:http://v.youku.com/v_show/id_XNDQ3MDg0NjU2.html。所以真的有必要学习这个游戏引擎。

 

我的开发环境是win7和vs2010。

 

首先在在这里下载:2.0.4 (2012-11-02)这个版本,在第一次使用的就是这个版本。下载解压到任意目录,有如下的文件:

【Cocos2d-x游戏引擎开发笔记(1)】HelloWorld

由于我的安装的是vs2010,所以双击cocos2d-win32.vc2010.sln,若vs是其他版本的则单击其他版本的sln文件,这里还有vs2008和vs2012。导入工程后,右击解决方案,点击生成解决方案,这里要编译一段时间。编译成功之后,右击工程中的HelloCpp项目,点击调试----->启动新实例。出现下图则环境搭建没问题:

【Cocos2d-x游戏引擎开发笔记(1)】HelloWorld

 

该工程中还有其他的项目,可以试一试TestCpp项目,里面是对Cocos2d-x的全面测试,我们也可以看看Cocos2d-x能实现那些功能。

 

下面对vs2010安装Cocos2d-x安装模板,点击cocos2d-2.0-x-2.0.4文件夹下的install-templates-msvc.bat文件,就会给vs2010安装Cocos2d-x安装开发模板。接下来右击解决方案,点击添加--->新建项目,选择Cocos2d-win32 Application,输入名称MyTest和位置,点击确定。接下来选择默认,点击完成。在我们的工程下生成了一个MyTest.win32,项目,运行该项目,出现下面的界面:【Cocos2d-x游戏引擎开发笔记(1)】HelloWorld

 

 

来看看Cocos2d-x模板给我们生成了一个生么样的项目

 

【Cocos2d-x游戏引擎开发笔记(1)】HelloWorld

 

在include文件夹里放头文件,在resource文件夹中放资源文件,在source文件夹中放源文件,还有一个外部依赖项,这是对Cocos2d-x的其他文件的引用。在main.cpp中的代码如下:

    AppDelegate app;  //创建应用程序实例
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setFrameSize(480, 320);//设置界面大小
int ret = CCApplication::sharedApplication()->run();//运行应用程序消息循环


在AppDelegate这个类中,有三个虚函数

virtual bool applicationDidFinishLaunching();    //应用程序完成加载调用这个方法

virtual void applicationDidEnterBackground();   //应用程序进入后台调用这个方法

virtual void applicationWillEnterForeground();   //应用程序进入前台调用这个方法

 

applicationDidFinishLaunching方法中,初始化导演对象,设置FPS,运行场景。

applicationDidEnterBackground方法中,关闭动画,停止背景音乐。

applicationWillEnterForeground方法中,开始动画,继续背景音乐。

 

而HelloWorld类则是一个布景,它继承CCLayer,在HelloWorld类中,有三个方法

virtual bool init();  
static cocos2d::CCScene* scene();
void menuCloseCallback(CCObject* pSender);

init方法初始化布景中的一些类容,一个菜单,一个字符,还有背景,这些类容的生成将在接下来的博文中继续,欢迎关注。

scene方法则使用该布景生成一个场景

menuCloseCallback方法响应用户点击菜单

 

好了,大功告成,这一片博文主要讲的是搭建开发环境和介绍HelloWorld这个项目是怎么运行的。欢迎继续关注下一篇博文。