要求Lua文件来自可写路径

时间:2013-06-13 03:04:37

标签: lua cocos2d-x

我现在已经坚持这个问题大约3天了。

我正在为游戏使用cocos2d-x 2.1.3和Lua脚本。 使用AssetsManager作为基础,我现在已成功从服务器获取.zip个文件并将其加载到应用程序中。然而,这是一个很小的问题。

在我的项目(基于AssetsManagerTest)中,它会下载一个.zip文件(名为package.zip,其中包含两个文件.png(称为HelloWorld.png }和一个.lua文件(称为game.lua)。.lua文件只是创建一个HelloWorld场景,只是为了测试它是否有效,而且确实如此。

然后我编辑了game.lua文件,要求另一个名为.lua的{​​{1}}文件。当我尝试运行它时,会报告错误,说它无法找到gem.lua。所以我尝试编辑我的gem.lua代码以使用C++,但是,它仍然不起作用。

我下载CCLuaEngine::addSearchPath( const char * )文件夹并将其解压缩到package.zip返回的路径中。正确提取文件并找到CCFileUtils::getWritablePath()。当我尝试将game.lua添加到包中时,我添加了这段代码:

gem.lua

即使// Obtain the full script path. The value returned is: // CCFileUtils::getWritablePath() + "/games/game/scripts" const std::string scriptPath = MyAssetManager::sharedManager() -> getScriptPath(); // Obtain the script file path std::string gamePath = scriptPath + "/game.lua"; // Add the scriptPath to the LuaEngine search paths CCLuaEngine::defaultEngine() -> addSearchPath( scriptPath.c_str() ); // Run the script CCLuaEnging::defaultEngine() -> executeScriptFile( gamePath.c_str() ); 位于正确的路径(gem.lua),引擎也无法以某种方式找到它。环顾四周后,结果是搜索路径的基本路径是/games/game/scripts/文件夹。

有没有办法让Resource查找可写路径?不过,它可以用资源来完成。

这是我收到的整个错误消息:

CCLuaEngine

1 个答案:

答案 0 :(得分:1)

鉴于错误消息,您可能在代码中写了类似require "gem.lua"的内容。您应该删除扩展程序:require "gem"