0

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());
}

次のケースでは、Android フォンでアプリを実行しています。

「LogicScene.lua」を実行すると、すべてうまくいきます。LogicシーンからMainSceneに戻るときもうまくいきます。しかし、メイン シーンが「LogicScene.lua」を再度実行しようとしても、何も起こりません。それはメインシーンに残っているだけです。LogicScene.lua からログが出力されません。

ログを出力するだけの test.lua を書いてテストしました。test.lua をメインシーンで初めて実行すると、logCat にログが表示されました。しかし、test.lua を 2 回実行しても何も起こりませんでした。

何千ものキーワードを使用してこれを何千回もグーグル検索しましたが、役立つものは何も見つかりませんでした.

そして驚くべきことに、Windows でテストするとすべてがうまくいきます。

PS、Android セットでは、すべてのスクリプトは「assets/luaScripts/」に配置され、LogicScene.lua は「assets/luaScripts/」に他のいくつかの lua スクリプトを必要とします。

Windows では、すべてのスクリプトは「Resources/luaScripts/」に配置されます。

何がうまくいかないのですか?誰でも助けることができますか?

4

1 に答える 1