lua层和C++层混用的疑惑

以C++为主,AppDelegate内容:
auto director = Director::getInstance();
auto glview = director->getOpenGLView();

// set FPS. the default value is 1.0/60 if you don't call this
director->setAnimationInterval(1.0 / 60);

auto engine = LuaEngine::getInstance();
ScriptEngineManager::getInstance()->setScriptEngine(engine);
lua_State* L = engine->getLuaStack()->getLuaState();
lua_module_register(L);

auto scene = SceneMenu::createScene();
director->runWithScene(scene);

SceneMenu就是一个普通的Scene了,区别是它试图加载一个lua层作为child:
bool SceneMenu::init(){
auto engine = LuaEngine::getInstance();
ScriptEngineManager::getInstance()->setScriptEngine(engine);
engine->executeScriptFile(“src/testLayer.lua”);
return true;
}
testLayer.lua关键内容:

local sceneGame = cc.Director:getInstance():getRunningScene()
sceneGame:addChild(createLayerFarm())

问题就在这个地方,getRunningScene()得到的值是nil,这里还不涉及C++和lua交互的问题,问题是cc.Director:getInstance()这个单例为什么无法得到RunningScene,如果想得到想要的效果应该怎么操作?

参考这里 http://blog.csdn.net/wwj_748/article/details/34494613 博客文章

并不是看不懂例子代码。
你没仔细看我的问题啊,这里面的Scene是C++的,目的是想让这个Scene想加载lua的layer就加载lua的,想加载C++的就加载C++的,在lua代码里cc.Director:getInstance()无法getRunningScene

你这个时候你自己的Scene还没有生成出来,还没有走到RunWithScene, RunningScene当然没有值啊!

果然是低级错误,多亏版主大人提醒,不然不知道还要在错误的方向死磕多少时间,一直以为是lua用的姿势不对,大眼瞪小眼地研究源码呢:12: