zoukankan      html  css  js  c++  java
  • 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();
    }
    

      

      

  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/colife/p/3508530.html
Copyright © 2011-2022 走看看