zoukankan      html  css  js  c++  java
  • Cocos2d-x学习笔记(三)main方法

    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;
    }
  • 相关阅读:
    python cookbook 笔记二
    python cookbook 笔记一
    aircrack-ng笔记
    TeamCity 和 Nexus 的使用
    Linux 搭建 nexus 私服【转】
    maven阿里云镜像
    kali linux 破解wpa密码
    python正则表达式二[转]
    Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
    集合解析
  • 原文地址:https://www.cnblogs.com/AmitX-moten/p/4189849.html
Copyright © 2011-2022 走看看