標籤:
0. UNREFERENCED_PARAMETER(X)避免編譯器關於未引用參數的警告。
#pragma warning( push )#pragma warning( disable : 4100 )void DoSomething(...){}#pragma warning( pop )
1. AppDelegate app建立app代理。
2. CCEGLView* eglView = CCEGLView::sharedOpenGLView(),擷取GLView的指標。
3. eglView->setViewName("FirstGame")建立View的名字,叫“FirstGame”。
4. eglView->setFrameSize(480, 320)設定FrameSize。
5. CCApplication::sharedApplication()->run()正式開始運行應用。
int CCApplication::run(){ PVRFrameEnableControlWindow(false); // Main message loop: MSG msg; LARGE_INTEGER nFreq; LARGE_INTEGER nLast; LARGE_INTEGER nNow; QueryPerformanceFrequency(&nFreq); QueryPerformanceCounter(&nLast); // Initialize instance and cocos2d. if (!applicationDidFinishLaunching()) { return 0; } CCEGLView* pMainWnd = CCEGLView::sharedOpenGLView(); pMainWnd->centerWindow(); ShowWindow(pMainWnd->getHWnd(), SW_SHOW); while (1) { if (! PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { // Get current time tick. QueryPerformanceCounter(&nNow); // If it‘s the time to draw next frame, draw it, else sleep a while. if (nNow.QuadPart - nLast.QuadPart > m_nAnimationInterval.QuadPart) { nLast.QuadPart = nNow.QuadPart; CCDirector::sharedDirector()->mainLoop(); } else { Sleep(0); } continue; } if (WM_QUIT == msg.message) { // Quit message loop. break; } // Deal with windows message. if (! m_hAccelTable || ! TranslateAccelerator(msg.hwnd, m_hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int) msg.wParam;}
Cocos2d-x學習筆記(三)main方法