我正在开发一个 cocos2d-x 应用程序。该应用程序从用 C++ 编写的主要场景开始。主场景将创建一个用 lua 编写的逻辑场景。以下是主场景中的代码:
void CMainSceneLayer::menuSelectedCallBack(cocos2d::CCObject * pSender)
{
std::string scriptFile = "luaScripts/LogicScene.lua";
scriptFile = CCFileUtils::sharedFileUtils()->fullPathForFilename(scriptFile.c_str());
CCLog("scriptFile: %s\n", scriptFile.c_str());
CCLuaEngine::defaultEngine()->executeScriptFile(scriptFile.c_str());
}
以下案例是在安卓手机中运行应用
当它运行“LogicScene.lua”时,一切都按预期进行。当它从 Logic 场景返回到 MainScene 时,它也很顺利。但是当主场景再次尝试运行“LogicScene.lua”时,什么也没有发生。它只保留在主要场景中。LogicScene.lua 没有日志输出。
我通过编写一个只打印日志的 test.lua 对其进行了测试。主场景第一次运行 test.lua 时,logCat 中显示了一条日志。但是当 test.lua 第二次来回运行时,什么都没有发生。
我使用数千个关键字在谷歌上搜索了数千次,但没有发现任何有用的信息。
令人惊讶的是,当我在 Windows 上测试它时,一切都很好。
PS,在android set上,所有脚本都放在“assets/luaScripts/”中,而LogicScene.lua需要一些其他的lua脚本在“assets/luaScripts/”中。
而在windows上,所有脚本都放在“Resources/luaScripts/”
怎么了?任何人都可以帮忙吗?