说明

我们很容易在pushScene中添加动画

Director::getInstance()->pushScene(TransitionSlideInB::create(SCENE_TIME, scene));

可是popScene没有提供动画

Director::getInstance()->popScene();

网上有人说用replaceScene来代替pushScenepopScene,可是replaceScene直接把之前的场景替换掉了,而没有pushScene可以达到之前场景暂停的效果。还有人说先runAction,然后在用一个回调函数调用popScene,这样做也有问题,就是要出现的场景还是没有动画。

解决方法

我们可以在CCDirector.hvoid popScene();函数下面添加以下代码

template <class T>
void popSceneWithTransition(float t)
{
CCASSERT(_runningScene != nullptr, "running scene should not null"); _scenesStack.popBack();
ssize_t c = _scenesStack.size(); if (c == 0)
{
end();
}
else
{
_sendCleanupToScene = true;
Scene* scene = T::create(t, _scenesStack.at(c - 1));
_scenesStack.replace(c - 1, scene);
_nextScene = scene;
}
}

调用的时候这样写

Director::getInstance()->popSceneWithTransition<TransitionSlideInT>(SCENE_TIME);

测试截图

原文章

cocos2dx如何添加popScene的场景动画

转载请注明:Sollyu博客 » cocos2dx如何添加popScene的场景动画

cocos2dx如何添加popScene的场景动画的更多相关文章

  1. cocos2d-x 3.0 导演,场景,层,精灵

    导演(Director) 一款游戏好比一部电影,只是游戏具有更强的交互性,不过它们的基本原理是一致的.所以在Cocos2dx中把统筹游戏大局的类抽象为导演(Director),Director是整个c ...

  2. Cocos2d-x——CocosBuilder官方帮助文档翻译3 动画

    Working with Animations 动画 You can use CocosBuilder for creating character animations, animating com ...

  3. 移动web:翻页场景动画

    在移动web,特别是在微信中,经常看到一种翻页动画效果,也称为场景动画. 一页一页的翻过,像在看书,每页的内容以各种"炫酷"的效果出现在你的眼里,配上一首动听的音乐,你有没有喜欢上 ...

  4. 游戏开发之UE4添加角色到场景中

    接着上次继续学习,现在我们已经有了一个场景并且运行了,我们需要添加一个角色到场景中.要这样做,我们必须从UE4的GameFramework类继承它. 一. 创建一个从Character类继承的类 从基 ...

  5. Cocos2d-X研究之3.0 场景切换特效汇总

    Cocos2d-X研究之3.0 场景切换特效汇总 2014-08-05      0个评论    来源:游戏编程    收藏    我要投稿 cocos2d-x 3.0中场景切换特效比较多,而且游戏开 ...

  6. HTML5+CSS3城市场景动画

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. 飞机大战(1)--添加logo和加载动画

    注:以下代码都是用scratch 3.0版本编写 素材链接: 链接:https://pan.baidu.com/s/1sXqeZVuFgVTYT0OtqxXilw 提取码:1126 一.背景添加 导入 ...

  8. Cocos2d-x如何添加新场景及切换新场景(包括场景特效)

    做了一天多的工作终于把此功能搞定了,实际上添加新场景花费不了多少时间,时间主要花在切换到另一个场景的实现上,主要原因是编译时出现了一个错误,百思不得其解,后来经过查资料不断摸索才知道自己问题的所在,改 ...

  9. 五毛的cocos2d-x学习笔记05-场景与场景动画,动作

    场景切换函数: Director->getInstance()->replaceScene(Scene*); Director->getInstance()->runWithS ...

随机推荐

  1. 利用stdin stdout stderr及POSIX-linux机制重定向写日志

    由open返回的文件描述符一定是该进程尚未使用的最小描述符.由于程序启动时自动打开文件描述符0.1.2,因此第一次调用open打开文件通常会返回描述符3,再调用open就会返回4.可以利用这一点在标准 ...

  2. mongodb 在windows上安装为服务

    // mongo 也是先安装扩展 在安装为服务 首先 先下载mongodb的压缩包 解压(一个bin文件夹 三个文件) 在目录下 新建立一文件夹 mongodb 然后将解压的内容放进去 然后在mong ...

  3. 第二步 在D2RQ平台上配置jena环境

    第二步 在D2RQ平台上配置jena环境 2013年10月16日 9:48:53 搞了这么长时间语义,只用过protege这样的工具,一直没有落实到实际代码上.jena也看过好久了,总认为是hp公司的 ...

  4. hdu 4635 Strongly connected(Tarjan)

    做完后,看了解题报告,思路是一样的.我就直接粘过来吧 最终添加完边的图,肯定可以分成两个部X和Y,其中只有X到Y的边没有Y到X的边,那么要使得边数尽可能的多,则X部肯定是一个完全图,Y部也是,同时X部 ...

  5. SCVMM问题汇总

    1.在分配虚机到Hyper-V主机时,提示可用内存不足: 可能是虚机分配使用了动态内存,动态内存的最大值太大导致,将其改为固定内存大小即可.

  6. windows API 实现截图

    參考:http://bbs.csdn.net/topics/330154355 #include "stdio.h" #include "windows.h" ...

  7. ubuntu14.04源代码安装postgresql 9.1

    项目须要使用gisgraphy,怎奈gisgraphy3.0仅仅支持postgis1.5.因此仅仅能安装老版本号的posgresql和postgis了.从postgis的support matrix图 ...

  8. android87 Service

    ---------------------------------------------------------------------------- #Service(服务和Activity是运行 ...

  9. Tsar 服务器系统和应用信息的采集报告工具

    Tsar介绍 Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx.swift等),收集到的数据存储在服务器磁盘上,可以 ...

  10. PERCONA-TOOLKIT 工具的安装与使用1

    -c times Sun Jul :: CST Tracing process ID total pread read pwrite write fsync open close lseek fcnt ...