#include "cocos2d.h" #include "AppDelegate.h" #include "audio/include/SimpleAudioEngine.h" #include "base/CCScriptSupport.h" #include "scripting/lua-bindings/manual/CCLuaEngine.h" #include "scripting/lua-bindings/manual/lua_module_register.h" USING_NS_CC; using namespace CocosDenshion; AppDelegate::AppDelegate() { // fixed me //_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF); } AppDelegate::~AppDelegate() { // end simple audio engine here, or it may crashed on win32 SimpleAudioEngine::getInstance()->end(); //CCScriptEngineManager::destroyInstance(); } void AppDelegate::initGLContextAttrs() { GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8}; GLView::setGLContextAttrs(glContextAttrs); } bool AppDelegate::applicationDidFinishLaunching() { // register lua engine LuaEngine* engine = LuaEngine::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); lua_State* L = engine->getLuaStack()->getLuaState(); lua_module_register(L); //The call was commented because it will lead to ZeroBrane Studio can't find correct context when debugging //engine->executeScriptFile("src/hello.lua"); #if CC_64BITS FileUtils::getInstance()->addSearchPath("src/64bit"); #endif FileUtils::getInstance()->addSearchPath("src"); FileUtils::getInstance()->addSearchPath("res"); engine->executeString("require 'hello.lua'"); return true; } // This function will be called when the app is inactive. Note, when receiving a phone call it is invoked. void AppDelegate::applicationDidEnterBackground() { Director::getInstance()->stopAnimation(); SimpleAudioEngine::getInstance()->pauseBackgroundMusic(); } // this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { Director::getInstance()->startAnimation(); SimpleAudioEngine::getInstance()->resumeBackgroundMusic(); }