Scene

场景是由director来控制管理的, Director用来管理的函数:

/**
* 设置场景,然后进入Director类的主循环;
* 当已经有场景在运行时,请不要调用该函数;
* 调用该函数去设置程序的第一个场景;
* 该函数内部,会调用pushScene;之后会调用startAnimation函数。
*/
void runWithScene(Scene *scene);

/**
* 将当前运行的场景压入场景栈中,并挂起当前运行的场景;
* 同时运行参数中传入的新的场景。
* 注:请避免在场景栈中存放太多的场景,这样有可能占用过多的内存资源;
* 只有当前有正在运行的场景时,才可以调用该函数。
*/
void pushScene(Scene *scene);

/**
* 从场景栈中弹出一个场景,并使用该场景替换正在运行的场景;
* 当前正在运行的场景会被释放掉。如果在场景栈中没有场景时,程序就会终    止。
* 只有当前有正在运行的场景才可以调用该函数。
*/
void popScene();

/**
* 内部调用popToSceneStackLevel(1)完成。
*/
void popToRootScene();

/**
* 从场景栈中弹出指定位置之前的所有场景;
* 如果参数level等于0,直接调用end()函数,结束director;
* 如果参数level等于1,弹出除了根场景外的所有场景;
* 如果参数level大于当前栈中场景数量,什么都不会发生。
*/
void popToSceneStackLevel(int level);

/**
* 使用参数的场景替换当前正在运行的场景。当前正在运行的场景会被释放掉。
* 只有当前有正在运行的场景时,才可以调用该函数。
*/
void replaceScene(Scene *scene);

/**
* 结束程序,释放当前正在运行的场景
* 但是这个函数并没有从它的父对象中删除OpenGL view。我们需要手动的去删除这个对象。
*/
void end();

/**
* 暂停当前正在运行的场景;
* 所有的调度器都会被暂停;
* 当暂停时,为了减少CPU消耗,场景绘制的帧率是每秒4帧。
*/
void pause();

/**
* 唤醒停止的场景
* 调度器会被重新激活,开始事件调度
*/
void resume();

/**
* 停止所有动画,任何内容都不会被再绘制。Director类中的主循环将处于停止状态
* 如果不想暂停动画效果,可以调用pause函数。
*/
virtual void stopAnimation() = 0;

/**
* 重新出发Director类中的主循环
* 只有在stopAnimation被调用过后,才可以调用该函数用来恢复主循环
* 在程序初始化时,请不要手动调用该函数来触发主循环,而是调用runWithScene函数
*/
virtual void startAnimation() = 0;

/**
* 该函数被用来绘制场景。
* 这个函数在每一帧的时候,都会被调用;
* 注:请不要手动调用该函数。
*/
void drawScene();

*******************场景的切换**************切换效果类都是类TransitionScene的子类,TransitionScenecreate函数有两个参数,第一个参数表示切换的时间,第二个参数是要进入的场景例如:director->replaceScene(TransitionSlideInT::create(3.0f, SecondScene::createScene()));
时间: 2024-11-11 08:34:10

Scene的相关文章

unity3d中的物体,在Scene窗口中可以看到,而在Game窗口中看不到的原因

unity3d中的物体,在Scene窗口中可以看到,而在Game窗口中看不到的原因: 多半是因为物体所属Layer与照相机的culling mask不一致导致的,或者超出照相机的可视范围. 如果游戏中有多个相机,每个相机都有自己的可视范围和culling mask,物体在移动的过程中,进入不同的相机,其可见性可能是变化的,取决与物体所属Layer与当前相机是否一致

JavaFX Scene Builder 使用基础(一)

怎么用Scene Builder 来配合编写一个程序?下面我们就以此来讨论一下. (一)基础准备工作 本人使用NetBeans与JavaFX Scene Builder协同编写. 对于NetBeans我们需要做的是如下步骤:文件-->新建项目-->JavaFX-->JavaFX FXML应用程序,然后单击下一步,如图: 建立好工程文件后,我们可以看到工程下有三个文件,一个.FXML文件,两个.java文件,如图: 其中FXMLDocument.fxml为用户界面,我们可以通过JavaFX

Qt新渲染底层Scene Graph研究(一)

Qt新渲染底层Scene Graph研究(一) Qt 5提出了一个新的渲染底层,以替代Qt4时期的Graphics View,这个渲染底层就是Scene Graph.其实这个底层的作用和Open Scene Graph是差不多的,但是由于是不同的团队进行开发的,所以两者没有必然的联系.Scene Graph主要利用OpenGL ( ES )2的渲染优势,在2D和3D以非常流畅的速度进行渲染,满足日益增长的界面效果需求,同时Scene Graph预留了各种各样的接口,满足大家定义显示和渲染效果的需

cocos2dx使用cocostudio导出的scene

local uilocal function createLayerUI() if not ui then ui=cc.Layer:create(); createLayerUI=nil; end return ui;end local sclocal function createLayerScene() if not sc then sc=cc.Layer:create(); createLayerScene=nil; end return sc;end cc.FileUtils:getIn

cocos2d-html5 Layer 和 Scene 创建模式

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 var myLayer = cc.Layer.extend({     init:function() {//2  界面         var bRet = false;         if (this._super()) {             bRet = true;         }     

Cocos2d-x之Scene

|   版权声明:本文为博主原创文章,未经博主允许不得转载. Scene场景也是cocos2dx中必不可少的元素,游戏中通常我们需要构建不同的场景(至少一个),游戏里关卡.版块的切换也就是一个一个场景的切换,就像在电影中变换舞台和场地一样.场景的一个重要的作用就是流程控制的作用,我们可以通过Director的一系列方法控制游戏中不同的场景的自由切换.下面是Director控制场景的常用方法: runWithScene( Scene *scene ) /*启动游戏,并运行scene场景.本方法在主

Unity Game窗口中还原Scene窗口摄像机操作

最近在弄AI,调试程序的时候总是要调整摄像机的视角.灰常不爽然后自己写了个脚本.比较习惯Scene窗口下的摄像机操作所以就仿造了一个一样的操作脚本. 首相我们要知道Scene下的摄像机的操作方式 1.WASD分别控制前后左右的位移,注意:位移是已当前视角为基准的. 2.QE分别控制上下,注意:这个是针对世界坐标的. 3.鼠标右键控制自由视角旋转.(难点) 对于第一条来说,主要的问题就是现在玩家朝向问题.我怎么知道我面向哪里. Vector3 Face = transform.rotation *

(2016.4.17)文献总结Learning Hierarchical Features for Scene Labeling

LearningHierarchical Features for Scene Labeling Introduction: Full-scenelabeling 就是 scene parsing 关键在于用ConNet提取特征向量!!! 1.sceneparsing的困难之处在于一个过程里要结合detection, segmentation,multilabel recognition. 2.问题有两个:一是对视觉信息产生好的表达,二是使用背景信息保证对图片解释的一致性 3.文章的主要方法:使

图像显著性论文(一)—A Model of saliency Based Visual Attention for Rapid Scene Analysis

这篇文章是图像显著性领域最具代表性的文章,是在1998年Itti等人提出来的,到目前为止引用的次数超过了5000,是多么可怕的数字,在它的基础上发展起来的有关图像显著性论文更是数不胜数,论文的提出主要是受到灵长类动物早期视觉系统的神经结构和行为所启发而产生了视觉注意系统.灵长类动物具有很强的实时处理复杂场景的能力,视觉信息进行深入的处理之前,对所收集到的感觉信息进行选择,这些选择可能减少场景理解的复杂性,这个选择过程在一个空间有限的视野区域即所谓的注意焦点(focus of attention,

unity, Find References In Scene

材质,脚本,shader等都可以通过Find References In Scene查看引用情况,如图. 当对一个文件点击Find References In Scene后,搜索命令会显示到Scene视图右上角的搜索框里.如果想恢复原貌,清空搜索框中的内容即可.