cocos2dx popScene 使用 Transition小技巧

今天才知道cocos2dx popScene 没有Transition,只能生硬地切换,不能忍...搜索了一下,分享小技巧~

在头文件中增加两个方法:

Scene * getPreviousScene();

void popSceneWithTransition(Scene *trans);

Director.cpp 实现如下:

Scene * Director::getPreviousScene() { ssize_t c = _scenesStack.size(); if (c <= 1) return NULL; return (Scene*)_scenesStack.at(c - 2); } void Director::popSceneWithTransition(Scene * trans) { log("popSceneWithTransition+++++++++++++++++++++++++++++++stack size = %zd",_scenesStack.size()); CCASSERT(_runningScene != NULL,"running scene should not null"); _scenesStack.popBack(); ssize_t c = _scenesStack.size(); if (c == 0) { end(); } else { _sendCleanupToScene = true; _nextScene = trans; // (CCScene*)m_pobScenesStack->objectAtIndex(c - 1); } }

用法如下:

Scene *preScene = Director::getInstance() -> getPreviousScene(); TransitionScene *transition = TransitionSlideInL::create(0.3,preScene);Director::getInstance() -> popSceneWithTransition(transition); 欢迎访问我的博客:helkyle.tk

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...