在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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上面就不行了,一直提示错误: get data from file(program/xxx.lua) failed
解决办法: 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
|
请发表评论