cocos2dx如何添加popScene的场景动画
说明
我们很容易在pushScene
中添加动画
Director::getInstance()->pushScene(TransitionSlideInB::create(SCENE_TIME, scene));
可是popScene
没有提供动画
Director::getInstance()->popScene();
网上有人说用replaceScene
来代替pushScene
和popScene
,可是replaceScene直接把之前的场景替换掉
了,而没有pushScene可以达到之前场景暂停的效果
。还有人说先runAction,然后在用一个回调函数调用popScene,这样做也有问题,就是要出现的场景还是没有动画。
解决方法
我们可以在CCDirector.h
的void 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);
测试截图
原文章
转载请注明:Sollyu博客 » cocos2dx如何添加popScene的场景动画
cocos2dx如何添加popScene的场景动画的更多相关文章
- cocos2d-x 3.0 导演,场景,层,精灵
导演(Director) 一款游戏好比一部电影,只是游戏具有更强的交互性,不过它们的基本原理是一致的.所以在Cocos2dx中把统筹游戏大局的类抽象为导演(Director),Director是整个c ...
- Cocos2d-x——CocosBuilder官方帮助文档翻译3 动画
Working with Animations 动画 You can use CocosBuilder for creating character animations, animating com ...
- 移动web:翻页场景动画
在移动web,特别是在微信中,经常看到一种翻页动画效果,也称为场景动画. 一页一页的翻过,像在看书,每页的内容以各种"炫酷"的效果出现在你的眼里,配上一首动听的音乐,你有没有喜欢上 ...
- 游戏开发之UE4添加角色到场景中
接着上次继续学习,现在我们已经有了一个场景并且运行了,我们需要添加一个角色到场景中.要这样做,我们必须从UE4的GameFramework类继承它. 一. 创建一个从Character类继承的类 从基 ...
- Cocos2d-X研究之3.0 场景切换特效汇总
Cocos2d-X研究之3.0 场景切换特效汇总 2014-08-05 0个评论 来源:游戏编程 收藏 我要投稿 cocos2d-x 3.0中场景切换特效比较多,而且游戏开 ...
- HTML5+CSS3城市场景动画
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 飞机大战(1)--添加logo和加载动画
注:以下代码都是用scratch 3.0版本编写 素材链接: 链接:https://pan.baidu.com/s/1sXqeZVuFgVTYT0OtqxXilw 提取码:1126 一.背景添加 导入 ...
- Cocos2d-x如何添加新场景及切换新场景(包括场景特效)
做了一天多的工作终于把此功能搞定了,实际上添加新场景花费不了多少时间,时间主要花在切换到另一个场景的实现上,主要原因是编译时出现了一个错误,百思不得其解,后来经过查资料不断摸索才知道自己问题的所在,改 ...
- 五毛的cocos2d-x学习笔记05-场景与场景动画,动作
场景切换函数: Director->getInstance()->replaceScene(Scene*); Director->getInstance()->runWithS ...
随机推荐
- HW4.1
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- [Git]git常用命令总结
git clone url 将远程库复制到本地 git status 查看本地库的状态 git add filename.filetype 将库中被修改的文件标记为添加状态 git diff 查看库中 ...
- java实现下载文件到本地
代码如下: URL url = new URL("http://www.cnblogs.com/images/logo_small.gif"); URLConnection con ...
- IOS GCD 使用(三)单例模式
一 Dispatch_once函数简介 使用dispatch_once提价的代码块,即便你提交多次,只能执行一次. void dispatch_once(dispatch_once_ ...
- Could not find class '****', referenced from method #####
找不到类,多半也是和第三方的jar包有关. 将找不到的类.在下图中的地方勾选出来.假设jar太多.有的类有冲突的话,须要明白其先后顺序. 请外一篇和第三方jar有关的异常的文章. Conversion ...
- java15 IO装饰设计模式
IO装饰设计模式:(IO中使用了装饰设计模式) 节点流可以直接从源读取数据,处理流就是对节点流的包装,这就是装饰,装饰就是对原有的流的性能的提升.比如买的车,马力不够,就进行装饰,使其马力增大. 装饰 ...
- ARM GCC CodeSourcery 下载地址
Sourcery G++ Lite 2011.03-42: https://sourcery.mentor.com/GNUToolchain/package8737/public/arm-none-e ...
- oracle学习----去除表中的重复数据
重复的数据可能有这样两种情况,第一种:表中只有某些字段一样,第二种:两行记录完全一样.第一.对于部分字段重复数据的删除 先来谈谈如何查询重复的数据吧. 下面语句可以查询出那 ...
- Android_EditText
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- 练习题之ThreadLocal
public class ThreadLocalMain { private static ThreadLocal<Integer> value = new ThreadLocal< ...