1: int CCApplication::run()
2: {
3: PVRFrameEnableControlWindow(false); //windows相关的,不理会
4:
5: // Main message loop: message消息loop循环
6: MSG msg;
7: LARGE_INTEGER nFreq;
8: LARGE_INTEGER nLast;
9: LARGE_INTEGER nNow;
10: //WinBase.h中声明的两个函数,不用理会
11: queryPerformanceFrequency(&nFreq);
12: queryPerformanceCounter(&nLast);
13:
14: //初始化cocos2d应用实例
15: // Initialize instance and cocos2d.
16: if (!applicationDIDFinishLaunching())
17: {
18: //applicationDIDFinishLaunching()函数在AppDelegate中实现
19: return 0;
20: }
21: //下面都是和windows窗口显示相关的,暂时不理会
22: CCEGLVIEw* pMainWnd = CCEGLVIEw::sharedOpenGLVIEw();
23: pMainWnd->centerWindow();
24: ShowWindow(pMainWnd->getHWnd(),SW_SHOW);
25: //死循环,程序
26: while (1)
27: {
28: if (! PeekMessage(&msg,NulL,PM_REMOVE))
29: {
30: // Get current time tick.获取当前时间标记
31: queryPerformanceCounter(&nNow);
32: //获取到的时间是绘制下一个帧的时间,就绘制。否则继续while循环
33: // If it's the time to draw next frame,draw it,else sleep a while.
34: if (nNow.QuadPart - nLast.QuadPart > m_nAnimationInterval.QuadPart)
35: {
36: nLast.QuadPart = nNow.QuadPart;
37: CCDirector::sharedDirector()->mainLoop();
38: }
39: else
40: {
41: Sleep(0);
42: }
43: continue;
44: }
45:
46: if (WM_QUIT == msg.message)
47: {
48: // Quit message loop.
49: break;
50: }
51:
52: // Deal with windows message.
53: if (! m_hAcceltable || ! TranslateAccelerator(msg.hwnd,m_hAcceltable,&msg))
54: {
55: TranslateMessage(&msg);
56: dispatchMessage(&msg);
57: }
58: }
59:
60: return (int) msg.wParam;
61: }
总结 以上是内存溢出为你收集整理的cocos2d学习(02)——CCApplication类中的run方法分析全部内容,希望文章能够帮你解决cocos2d学习(02)——CCApplication类中的run方法分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)