好的引擎,会提供一系列完整的功能示例,Cocos2d-x之所以能得到很多人的喜爱,其重要的原因是它提供了丰富而易学的示例。在cocos2d-2.0-x-2.0.2中这些示例被放在一个名叫TestCpp的工程中,为了更好的学习Cocos2d-x的功能示例,我们今天来学习一下这个工程的框架结构。@H_502_3@
@H_502_3@
在VS的解决方案里展开TestCpp工程,其下有43个示例目录,除此之前还有几个文件:@H_502_3@
@H_502_3@
AppDelegate.h/cpp : 程序控制类AppDelegate 。@H_502_3@
controller.h/cpp:示例场景管理类TestController,用于显示所有示例的菜单。@H_502_3@
testBasic.h/cpp:示例场景基类TestScene,用于返回到主界面场景。@H_502_3@
testResource.h:文件资源名称字符串定义头文件@H_502_3@
@H_502_3@
所有的示例都是写在单独的由TestScene派生场景类中,在这些场景中加入一些由CCLayer派生的示例对象来实现相应功能的展示。@H_502_3@
@H_502_3@
与HelloWorld一样,我们需要在main.cpp中创建AppDelegate实例,并设置窗口大小,启动游戏程序。@H_502_3@
@H_502_3@
- #include"main.h"@H_502_3@@H_502_3@@H_502_3@
- #include"AppDelegate.h"@H_502_3@@H_502_3@@H_502_3@
- #include"CCEGLView.h"@H_502_3@@H_502_3@@H_502_3@
- USING_NS_CC;@H_502_3@
- //WIN32程序主函数@H_502_3@@H_502_3@@H_502_3@
- int@H_502_3@APIENTRY_tWinMain(@H_502_3@HINSTANCE@H_502_3@hInstance,@H_502_3@@H_502_3@
- HINSTANCE@H_502_3@hPrevInstance,@H_502_3@@H_502_3@
- LPTSTR@H_502_3@lpCmdLine,87); background-color:inherit">int@H_502_3@nCmdShow)@H_502_3@@H_502_3@
- {@H_502_3@
- UNREFERENCED_PARAMETER(hPrevInstance);@H_502_3@
- UNREFERENCED_PARAMETER(lpCmdLine);@H_502_3@
- //实例化一个Cocos2d-x程序对象@H_502_3@@H_502_3@@H_502_3@
- AppDelegateapp;@H_502_3@
- //创建OpenGL视窗并设置窗口大小@H_502_3@@H_502_3@@H_502_3@
- CCEGLView*eglView=CCEGLView::sharedOpenGLView();@H_502_3@
- eglView->setFrameSize(480,320);@H_502_3@
- //运行程序对象@H_502_3@@H_502_3@@H_502_3@
- return@H_502_3@CCApplication::sharedApplication()->run();@H_502_3@@H_502_3@
- }@H_502_3@
@H_502_3@
@H_502_3@
@H_502_3@在AppDelegate.cpp中的bool@H_502_3@AppDelegate::applicationDid。FinishLaunching()函数中创建场景并运行场景@H_502_3@