AppDelegate 的 applicationDidFinishLaunching 方法中加载Lua引擎
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 |
bool
AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); pDirector->setProjection(kCCDirectorProjection2D); // set FPS. the default value is 1.0/60 if you don‘t call this pDirector->setAnimationInterval(1.0 / 60); // register lua engine CCLuaEngine *pEngine = CCLuaEngine::defaultEngine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); CCLuaStack *pStack = pEngine->getLuaStack(); // load framework if
(m_projectConfig.isLoadPrecompiledFramework()) { const
string precompiledFrameworkPath = SimulatorConfig::sharedDefaults()->getPrecompiledFrameworkPath(); pStack->loadChunksFromZip(precompiledFrameworkPath.c_str()); } // load script string path = CCFileUtils::sharedFileUtils()->fullPathForFilename(m_projectConfig.getScriptFileRealPath().c_str()); size_t
pos; while
((pos = path.find_first_of( "\\" )) != std::string::npos) { path.replace(pos, 1, "/" ); } size_t
p = path.find_last_of( "/\\" ); if
(p != path.npos) { const
string dir = path.substr(0, p); pStack->addSearchPath(dir.c_str()); p = dir.find_last_of( "/\\" ); if
(p != dir.npos) { pStack->addSearchPath(dir.substr(0, p).c_str()); } } string env = "__LUA_STARTUP_FILE__=\"" ; env.append(path); env.append( "\"" ); pEngine->executeString(env.c_str()); CCLOG( "------------------------------------------------" ); CCLOG( "LOAD LUA FILE: %s" , path.c_str()); CCLOG( "------------------------------------------------" ); pEngine->executeScriptFile(path.c_str()); return
true ; } |
原文:http://www.cnblogs.com/lan0725/p/3539801.html