cocos2dx android lua文件设置问题
cocos2d-x版本: cocos2d-2.1rc0-x-2.1.2
通常我们在文件AppDelegate.cpp的applicationDidFinishLaunching()函数中设置lua代码路径方式如下:
1 std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename(“programe/xxx.lua"); 2 pEngine->addSearchPath( path.substr( 0, path.find_last_of( "/" ) ).c_str() ); 3 pEngine->executeScriptFile( path.c_str() );
在pc和ios上面能够运行良好,但是android上面就不行了,一直提示错误:
解决办法:
1 const char* luaFile = "program/main.lua"; 2 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) 3 CCString* pstrFileContent = CCString::createWithContentsOfFile(luaFile); 4 if ( pstrFileContent ) { 5 std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename(luaFile); 6 CCLog("path = %s", path.c_str()); 7 std::string subPath = path.substr(0, path.find_last_of("/")); 8 CCLog("sub path = %s", subPath.c_str()); 9 10 pEngine->addSearchPath(subPath.c_str()); 11 12 std::vector<std::string> searchPaths = CCFileUtils::sharedFileUtils()->getSearchPaths(); 13 searchPaths.insert(searchPaths.begin(), subPath); 14 CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths); 15 16 pEngine->executeString(pstrFileContent->getCString()); 17 } 18 #else 19 std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename(luaFile); 20 pEngine->addSearchPath( path.substr( 0, path.find_last_of( "/" ) ).c_str() ); 21 pEngine->executeScriptFile( path.c_str() ); 22 #endif
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。