我现在已经坚持这个问题大约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
答案 0 :(得分:1)
鉴于错误消息,您可能在代码中写了类似require "gem.lua"
的内容。您应该删除扩展程序:require "gem"
。