• cocos2dx 的基本框架


    AppDelegate.h

    #ifndef  _APP_DELEGATE_H_
    #define  _APP_DELEGATE_H_
    
    #include "cocos2d.h"
    
    USING_NS_CC;
    
    /**
    @brief    The cocos2d Application.
    
    The reason for implement as private inheritance is to hide some interface call by CCDirector.
    */
    class  AppDelegate : private cocos2d::CCApplication
    {
    public:
        AppDelegate();
        virtual ~AppDelegate();
    
        /**
        @brief    Implement CCDirector and CCScene init code here.
        @return true    Initialize success, app continue.
        @return false   Initialize failed, app terminate.
        */
        virtual bool applicationDidFinishLaunching();
    
        /**
        @brief  The function be called when the application enter background
        @param  the pointer of the application
        */
        virtual void applicationDidEnterBackground();
    
        /**
        @brief  The function be called when the application enter foreground
        @param  the pointer of the application
        */
        virtual void applicationWillEnterForeground();
    };
    
    #endif // _APP_DELEGATE_H_
    

      

    AppDelegate.cpp

    #include "AppDelegate.h"  
    
    #include <vector> 
    #include <string>
    
    #include "PlayingScene.h"
    #include "AppMacros.h"
    
    USING_NS_CC;
    using namespace std;
    
    #define DESIGN_WIDTH	420
    #define DESIGN_HEIGHT	720
    
    AppDelegate::AppDelegate() {
    
    }
    
    AppDelegate::~AppDelegate() 
    {
    }
    
    bool AppDelegate::applicationDidFinishLaunching() {
    
    	CCDirector* pDirector = CCDirector::sharedDirector();
    	CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();	
    
    	pDirector->setOpenGLView(pEGLView);
    	pEGLView->setDesignResolutionSize(DESIGN_WIDTH, DESIGN_HEIGHT, kResolutionShowAll);
    
    	pDirector->setAnimationInterval(1.0 / 60);
    	CCScene *pScene = PlayingScene::scene();
    	pDirector->runWithScene(pScene);
    
    	return true;
    }
    
    void AppDelegate::applicationDidEnterBackground() {
    	CCDirector::sharedDirector()->stopAnimation();
    }
    
    void AppDelegate::applicationWillEnterForeground() {
    	CCDirector::sharedDirector()->startAnimation();
    }

    main.cpp
    #include "main.h"
    #include "../Classes/AppDelegate.h"
    #include "CCEGLView.h"
    
    USING_NS_CC;
    
    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->setViewName("HelloCpp");
    	//eglView->setFrameSize(384,640);
    	eglView->setFrameSize(240,400);
    	eglView->setFrameZoomFactor(1.0f);
        return CCApplication::sharedApplication()->run();
    }
    

      

      

  • 相关阅读:
    PAT甲级——A1006 Sign In and Sign Out
    PAT甲级——A1005 Spell It Right
    左神算法书籍《程序员代码面试指南》——1_05用一个栈实现另一个栈的排序
    左神算法书籍《程序员代码面试指南》——1_03如何使用递归函数和栈操作逆序一个栈
    PAT甲级——A1004 Counting Leaves
    PAT甲级——A1003Emergency
    Dijkstra算法
    PAT甲级——A1002 A+B for Polynomials
    PAT甲级——A1001A+BFormat
    Oil Deposits UVA
  • 原文地址:https://www.cnblogs.com/colife/p/3508530.html
Copyright © 2020-2023  润新知