终于开始真正去接触cocos2d-x了。从小玩游戏就对游戏有着一种特殊的喜好,而且非常好奇这个游戏的制作,更希望自己能在这方面有独特的研究。于是,我在自己大学期间面试进入了一家网络公司实习。刚巧这个公司又是需要用cocos2d-x来实现游戏的开发。(其实我是一枚资深撸狗(LOL),非常想接触网络游戏和手游)
话不多说,我们来讲一下学习cocos2d-x最基本的需要了解已经前期所做的准备。
我本人是自学了c++,因为这是一门对于提高游戏运行效率的比较实在的语言,而且上大学的时候,一些朋友推介c++做游戏开发,于是我觉得这是学习cocos2d-x的基本吧。而且介于自学c++还不够完善,也会从学习这个的同时一起加强c++深入了解。
还有一项就是必须下载cocos2d-x这个引擎。
本人是直接在公司资源里下载的,也可以直接下载官网上的,当然想试试自己配置环境的可以参照网上的cocos2d-x安装教程http://jingyan.baidu.com/article/19020a0a2d551a529d2842f5.html
因为是同事告诉我这个简便的方法的,接下来打开这个
然后只要下载Framework版本的话3.8之前是项目里面的资料是分开的。
接下来试着去新建一个项目如果可以显示你的引擎版本就可以进行接下来的helloworld,如果显示“无”那就更新一下你的Framework就可以了。
下面就是我们新建的一个项目里面的资源
打开这个文件夹proj.win32
用VS打开NewCocosProject,运行vs,再调试程序
在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方法响应用户点击菜单