2016年11月22日火曜日

cocos2d-x pushSceneからのenterSceneしたいので、pushEnterSceneの作成

pushSceneをした後に、enterSceneをすると、scenesStackごと破棄されてしまうので
今いるSceneを移動するように pushEnterSceneを作成した。


※ replaceScene で同じことができるようなのでいらなかった。。。


# CCDirector.cpp

void Director::pushEnterScene(Scene *scene)
{
CCASSERT(scene, "the scene should not null");

// _sendCleanupToScene = false;

#if CC_ENABLE_GC_FOR_NATIVE_OBJECTS
auto sEngine = ScriptEngineManager::getInstance()->getScriptEngine();
if (sEngine)
{
sEngine->retainScriptObject(this, scene);
}
#endif // CC_ENABLE_GC_FOR_NATIVE_OBJECTS
_scenesStack.popBack(); // pushScene にこれを追加しただけ
_scenesStack.pushBack(scene);
_sendCleanupToScene = true;
_nextScene = scene;
}

0 件のコメント: