2019独角兽企业重金招聘Python工程师标准>>>
#ifndef __APP_DELEGATE_H__
#define __APP_DELEGATE_H__#include "CCApplication.h"
//CCApplication.h能根据平台打开对应的平台头文件
/**
@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 for initialize OpenGL instance, set source path, etc...*/virtual bool initInstance();/**@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__
#include "AppDelegate.h"
#include "cocos2d.h"
#include "HelloWorldScene.h"
#include "CCEGLView.h"USING_NS_CC;AppDelegate::AppDelegate()
{
}AppDelegate::~AppDelegate()
{
}bool AppDelegate::initInstance()
{bool bRet = false;do{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)// Initialize OpenGLView instance, that release by CCDirector when application terminate.// The HelloWorld is designed as HVGA.CCEGLView * pMainWnd = new CCEGLView();CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(TEXT("cocos2d: Hello World"), 480, 320));#endif // CC_PLATFORM_WIN32#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)// OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here.#endif // CC_PLATFORM_IOS#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)// OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp// the default setting is to create a fullscreen view// if you want to use auto-scale, please enable view->create(320,480) in main.cpp// if the resources under '/sdcard" or other writeable path, set it.// warning: the audio source should in assets/// cocos2d::CCFileUtils::setResourcePath("/sdcard");#endif // CC_PLATFORM_ANDROID#if (CC_TARGET_PLATFORM == CC_PLATFORM_WOPHONE)// Initialize OpenGLView instance, that release by CCDirector when application terminate.// The HelloWorld is designed as HVGA.CCEGLView* pMainWnd = new CCEGLView(this);CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(320,480, WM_WINDOW_ROTATE_MODE_CW));#ifndef _TRANZDA_VM_// on wophone emulator, we copy resources files to Work7/NEWPLUS/TDA_DATA/Data/ folder instead of zip filecocos2d::CCFileUtils::setResource("HelloWorld.zip");
#endif#endif // CC_PLATFORM_WOPHONE
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MARMALADE)// MaxAksenov said it's NOT a very elegant solution. I agree, hahaCCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft);
#endif
#if (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX)// Initialize OpenGLView instance, that release by CCDirector when application terminate.// The HelloWorld is designed as HVGA.CCEGLView * pMainWnd = new CCEGLView();CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create("cocos2d: Hello World", 800, 480,480, 320));CCFileUtils::setResourcePath("../Resource/");#endif // CC_PLATFORM_LINUX#if (CC_TARGET_PLATFORM == CC_PLATFORM_BADA)CCEGLView * pMainWnd = new CCEGLView();CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(this, 480, 320));pMainWnd->setDeviceOrientation(Osp::Ui::ORIENTATION_LANDSCAPE);CCFileUtils::setResourcePath("/Res/");#endif // CC_PLATFORM_BADA#if (CC_TARGET_PLATFORM == CC_PLATFORM_QNX)CCEGLView * pMainWnd = new CCEGLView();CC_BREAK_IF(! pMainWnd|| ! pMainWnd->Create(480, 320));CCFileUtils::setResourcePath("./app/native/Resource");
#endif // CC_PLATFORM_QNXbRet = true;} while (0);return bRet;
}bool AppDelegate::applicationDidFinishLaunching()
{// initialize directorCCDirector *pDirector = CCDirector::sharedDirector();pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView());// enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices.
// pDirector->enableRetinaDisplay(true);// turn on display FPSpDirector->setDisplayFPS(true);// set FPS. the default value is 1.0/60 if you don't call thispDirector->setAnimationInterval(1.0 / 60);// create a scene. it's an autorelease objectCCScene *pScene = HelloWorld::scene();// runpDirector->runWithScene(pScene);return true;
}// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground()
{CCDirector::sharedDirector()->pause();
}// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()
{CCDirector::sharedDirector()->resume();
}
1