AppDelegate分析 (cocos2d-x应用结构分析)
来源:互联网 发布:简历制作技巧知乎 编辑:程序博客网 时间:2024/05/02 14:40
以下是TestCpp工程的main函数实现:
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// create the application instance
AppDelegate app;
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setFrameSize(2048, 1536);
// The resolution of ipad3 is very large. In general, PC's resolution is smaller than it.
// So we need to invoke 'setFrameZoomFactor'(only valid on desktop(win32, mac, linux)) to make the window smaller.
eglView->setFrameZoomFactor(0.4f);
return CCApplication::sharedApplication()->run();
}
其中AppDelegate继承自CCApplication,
class AppDelegate : private cocos2d::CCApplication
{
......
}
在CCApplication定义一静态变量sm_pSharedApplication,
static CCApplication * sm_pSharedApplication;
CCApplication的构造函数为:
CCApplication::CCApplication()
: m_hInstance(NULL)
, m_hAccelTable(NULL)
{
m_hInstance = GetModuleHandle(NULL);
m_nAnimationInterval.QuadPart = 0;
CC_ASSERT(! sm_pSharedApplication);
sm_pSharedApplication = this;
}
所以静态变量sm_pSharedApplication指向AppDelegate 对象app。
静态成员函数sharedApplication可以获得该静态指针。
CCApplication* CCApplication::sharedApplication()
{
CC_ASSERT(sm_pSharedApplication);
return sm_pSharedApplication;
}
主函数中的这一句,
CCApplication::sharedApplication()->run();
将启动应用的消息循环,开始处理消息,下面应用的逻辑就是由消息来驱动进行了!
- AppDelegate分析 (cocos2d-x应用结构分析)
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(1)----cocos2D-X渲染结构
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(1)----cocos2D-X渲染结构
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(1)----cocos2D-X渲染结构
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(1)----cocos2D-X渲染结构
- cocos2d-x 模板项目结构分析 3
- Quick-Cocos2d-x文件结构分析
- Quick-Cocos2d-x文件结构分析
- cocos2d-x引擎目录结构分析
- COCOS2D-X引擎Lua表结构分析
- Quick-Cocos2d-x文件结构分析
- AppDelegate分析
- cocos2D-X源码分析之从cocos2D-X学习OpenGL----cocos2D-X渲染结构
- X-Window结构分析与应用
- cocos2d-x CCTouch分析
- cocos2d-x autorelease分析
- Cocos2d-x生命周期分析
- Cocos2d-x TestApp分析
- android 创建快捷方式
- 华为H3C AR18-22-8路由器ADSL拔号虚拟服务器配置
- C++ Timer定时器
- struts常量设置
- 2012.12.12
- AppDelegate分析 (cocos2d-x应用结构分析)
- 移动ASM上的数据文件至文件系统
- 与面向对象相关的概念
- FPGA Verilog HDL 系列实例--------3-8译码器
- 单片机IO引脚驱动能力的提高
- MySQL性能、监控与灾难恢复
- FPGA Verilog HDL 系列实例--------8-3优先编码器
- 关于离开,请诸位保重自己
- 版本控制之道--使用Git