标签:替换 stat contents strong ogre 环境设定 factor 控制 通过
在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象。
进入游戏之前,导演会设置游戏的运行环境:
主循环中每一次循环渲染一副画面到屏幕上。下面是每一帧绘制的详细过程:
cc.director同样提高一些函数来控制主循环:
暂停主循环:cc.director.pause()
恢复主循环:cc.director.resume()
通常来说,一个游戏包含用于不同用例的几个场景,程序应该通过cc.director的API来控制场景流。
// 让导演对象执行目标场景 cc.director.runScene(scene); // 获取当前正在执行的场景 var scene = cc.director.getRunningScene(); // 将一个新场景推入场景栈中,并替换运行场景为这个新场景 var scene = cc.director.pushScene(scene); // 将栈顶的场景推出栈,并替换运行场景为推出后栈顶的新场景 cc.director.popScene(); // 将栈中除了栈底的根场景以外的所有场景推出,并替换运行场景为根场景。 cc.director.popToRootScene();
除此以外,你可以通过cc.TransitionScene的效果类设置转场特效
// 转场特效持续时间 var transitionTime = 2; // 创建下一个场景 var nextScene = new cc.Scene(); // 使用下一个场景创建转场特效场景 var transitionScene = new cc.TransitionProgressInOut(transitionTime, nextScene); // 替换运行场景为转场场景 cc.director.runScene(transitionScene);
由于导演对象控制整个游戏运行环境,导演对象中还提供一些常用的设置和属性:
// 获取游戏主循环是否被暂停 var paused = cc.director.isPaused(); // 设置或获取动画帧间隔,这个设置会直接影响帧率 var interval = cc.director.getAnimationInterval(); cc.director.setAnimationInterval(value); // 设置或获取导演对象的内容放缩比例 var scale = cc.director.getContentScaleFactor(); cc.director.setContentScaleFactor(scaleFactor); // 设置或获取游戏世界可视窗口的原点和大小 var origin = cc.director.getVisibleOrigin(); var size = cc.director.getVisibleSize(); // 获取游戏世界大小,winSize的大小通常等同于设计分辨率,而winSizeInPixel的大小是游戏世界的像素大小 var winSize = cc.director.getWinSize(); var winSizeInPixel = cc.director.getWinSizeInPixels(); // 设置或获取调试信息是否被显示 var isDisplaying = cc.director.isDisplayStats(); cc.director.setDisplayStats(displayStats); // 设置或获取视图,它指向`cc.view` var view = cc.director.getOpenGLView(); cc.director.setOpenGLView(openGLView); // 设置或获取WebGL/OpenGL的投影, // 可能的投影类型包括:cc.Director.PROJECTION_2D, cc.Director.PROJECTION_3D, cc.Director.PROJECTION_CUSTOM cc.director.getProjection(); cc.director.setProjection(projection);
cc.director.EVENT_AFTER_DRAW: 这个事件在每一帧图像绘制完成之后被触发。
cc.director.EVENT_AFTER_VISIT: 这个事件在每一帧场景树遍历之后被触发。
cc.director.EVENT_AFTER_UPDATE: 这个事件在每一帧计时器任务执行完成之后被触发。
cc.director.EVENT_PROJECTION_CHANGED: 这个事件在导演对象的投影属性被修改之后触发。
标签:替换 stat contents strong ogre 环境设定 factor 控制 通过
原文地址:https://www.cnblogs.com/mikeCao/p/9021661.html