切换场景时(释放/不释放旧场景)各自操作方式
来源:互联网 发布:linux虚拟机串口调试 编辑:程序博客网 时间:2024/06/06 12:35
前面的学习中我们知道切换场景使用replaceScene()函数进行场景切换,但是这种方式会导致旧场景被释放(ps:在实际开发中,一个场景占用的内存资源也许会很大,所以切换场景后必须释放旧场景的资源)。
按照上面的思路,那么问题出现了,如果我在一个场景里面玩得正爽,突然觉得音乐很烦人想关掉,那么打开游戏设置场景设置完了(郁闷想摔手机的事情发生了),原先场景里面的游戏进度没有了。
Cocos2d-x提供了另外两种切换场景的方式:推进和弹出。这两种方式都不需要释放旧场景,新旧场景同时存放在内存中。
1. ReplaceScene()方式代码:(使用了场景切换的特效)
void NodeHelloWorld::menuCloseCallback(CCObject* pSender){// "close" menu item clicked//CCDirector::sharedDirector()->end(); CCScene *psecond = SecondScene::scene();CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInL::create(3.0f,psecond));}
2.PushScene()和PopScene()
void NodeHelloWorld::menuCloseCallback(CCObject* pSender){// "close" menu item clicked//CCDirector::sharedDirector()->end();CCScene *psecond = SecondScene::scene();CCDirector::sharedDirector()->pushScene(CCTransitionSlideInL::create(3.0f,psecond));}
void SecondScene::closebutton(CCObject *pSender){//CCScene *pScene = NodeHelloWorld::sence();//CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInB::create(5.0f,pScene));CCDirector::sharedDirector()->popScene();}
popscene和pushscene函数对应,popscene将新场景释放,恢复旧场景的显示,注意:新场景会被释放。
0 0
- 切换场景时(释放/不释放旧场景)各自操作方式
- cocos2dx切换场景如何释放内存
- Cocos2d-js场景切换资源释放策略
- 解决切换场景时NGUI图集资源未释放的问题
- cocos2d 场景切换方式
- Cocos2 场景切换方式
- cocos2D场景切换方式总汇
- cocos2d-x CCScene 场景对象如何自动释放
- cocos2d-x 释放场景、动画及UI的方法
- 切换场景
- 场景切换
- 场景切换
- 场景切换
- 场景切换
- 切换场景
- 【项目经验】cocos2D场景切换方式总汇
- 【Cocos2d-X】场景切换方式总汇
- 切换场景时的效果
- ORCAD的一些快捷键设置
- Cocos2d-x 3.0final 终结者系列教程19脚本编程-Lua语法基础
- IntentService源码详解
- 【Unity3D自学记录】用NavMesh实现鼠标点击跟随
- Hibernate One-to-One Mappings 一对一关系映射
- 切换场景时(释放/不释放旧场景)各自操作方式
- Dos和linux格式转换(转)
- phantomjs
- Cocostudio又一个Bug
- EPVision平台
- 那些不能错过的Xcode插件
- 【口碑的力量】Java基础班完美开班!
- 那些不能错过的Xcode插件
- log4j详解