bombing:cocos2d-x应用窗口相关源码剖析3

来源:互联网 发布:淘宝店铺降权有通知吗 编辑:程序博客网 时间:2024/05/18 01:42

3、cocos2d-x窗口应用程序集成win32消息机制流程分析

bombing提醒您分析源码的时候,要带着问题去分析;分析明白以下三个问题,基本上对cocos2d-x集成win32消息机制大体流程了。

问题1:win平台下,cocos2d-x框架源码中,那个类完成了win窗口类注册;

问题2:win平台下,cocos2d-x框架源码中,那个类完成win窗口消息循环;

问题3:win平台下,cocos2d-x框架源码中,那个类完成win窗口过程回调函数处理。

过程如下:

1)第24行CCEGLView* eglView= CCEGLView::sharedOpenGLView();

该函数会调用步骤2)

2) boolCCEGLView::Create()函数,完成win窗口类注册;其中279、299行为关键代码。


其中,CCEGLView::Create()会调用 CheckTouchSupport()函数,该函数动态加载系统函数,是应用程序加载动态库的重要方法之一,注意学习。

其中,CCEGLView::Create()会调用 CheckTouchSupport()函数,该函数动态加载系统函数,是应用程序加载动态库的重要方法之一,注意学习。

3)CCApplication类run()完成win消息循环接受处理。代码如下:

4)CCEGLView类的WindowProc函数,完成win窗口过程回调实现。函数运行如下:

LRESULT CCEGLView::WindowProc(UINT message, WPARAMwParam, LPARAM lParam)。该函数有众多关键性代码。

触屏回调、鼠标按键、键盘按键、应用程序后台处理等均有对应处理流程。


综上:

1)在main.pp程序入口_tWinMain()函数中,执行CCEGLView类对象初始化过程中,创建了win窗口类,然后注册窗口类,并注册消息回到函数WindowProc;

2)CCApplication的run函数进行消息循环处理。

至此:cocos2d-x win应用程序创建流程分析完毕。







0 0
原创粉丝点击