加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx popScene 使用 Transition小技巧

发布时间:2020-12-14 19:46:26 所属栏目:百科 来源:网络整理
导读:今天才知道cocos2dx popScene 没有Transition,只能生硬地切换,不能忍...搜索了一下,分享小技巧~ 在头文件中增加两个方法: Scene * getPreviousScene();void popSceneWithTransition(Scene *trans); Director.cpp 实现如下: Scene * Director::getPreviou

今天才知道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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读