demo运行及调试环境:window 7,vs2012;
1、首先打开项目,目录结构如下图所示,main.cpp为程序的主入口函数,AppDelegate.cpp主要是设置窗口和加载demo,AppMacros.h定义了一些分辨率宏,HelloWorldScene.cpp为项目文件。
2、和其他win32应用程序一样,该工程也有个main.cpp文件,vs2012编译并运行main.cpp,
声明AppDelegate app,运行Application.cpp的run函数。
3、run函数启动,调用applicationDidFinishLaunching 函数,此函数来自协议ApplicationProtocol的纯虚函数,只是声明,没有实现方法,此方法在AppDelegate.cpp中实现。
4、AppDelegate为Application的子类,Main.cpp在启动时执行了 Application::getInstance()->run(),子类继承的方法也被调用,AppDelegate的applicationDidFinishLaunching函数被执行,设置一些openGL的数据、资源路径,及加载demo主类。
设置demo窗口的尺寸;
加载demo主类,实例化demo场景,并将其添加到Dirctor的场景管理器中运行渲染。
调用场景静态方法,实例化层并添加到场景中,该层主要用来做些背景,按钮及文字的显示。
头文件中声明静态方法后,有一个调用layer类的宏CREATE_FUNC,该宏主要用于调用layer的init()方法,进而运行整个demo逻辑。
init()方法中可以添加自己的逻辑,如背景,按钮,及文字等。编译并运行后结果下图所示;