Director 类型

继承于 EventTarget

模块: cc

注意:用 cc.director 代替 cc.Director。
cc.director 一个管理你的游戏的逻辑流程的单例对象。
由于 cc.director 是一个单例,你不需要调用任何构造函数或创建函数,
使用它的标准方法是通过调用:
- cc.director.methodName();
它创建和处理主窗口并且管理什么时候执行场景。

cc.director 还负责:
- 初始化 OpenGL 环境。
- 设置OpenGL像素格式。(默认是 RGB565)
- 设置OpenGL缓冲区深度 (默认是 0-bit)
- 设置空白场景的颜色 (默认是 黑色)
- 设置投影 (默认是 3D)
- 设置方向 (默认是 Portrait)

cc.director 设置了 OpenGL 默认环境
- GL_TEXTURE_2D 启用。
- GL_VERTEX_ARRAY 启用。
- GL_COLOR_ARRAY 启用。
- GL_TEXTURE_COORD_ARRAY 启用。

cc.director 也同步定时器与显示器的刷新速率。
特点和局限性:
- 将计时器 & 渲染与显示器的刷新频率同步。
- 只支持动画的间隔 1/60 1/30 & 1/15。

索引

属性(properties)
方法
  • convertToUI 将触摸点的 WebGL View 坐标转换为屏幕坐标。
  • getWinSize 获取视图的大小,以点为单位。
  • getWinSizeInPixels 获取视图大小,以像素为单位(这里的像素指的是资源分辨率。
  • getVisibleSize 获取运行场景的可见大小。
  • getVisibleOrigin 获取视图在游戏内容中的坐标原点。
  • pause 暂停正在运行的场景,该暂停只会停止游戏逻辑执行,但是不会停止渲染和 UI 响应。
  • runSceneImmediate 立刻切换指定场景。
  • runScene 运行指定场景。
  • loadScene 通过场景名称进行加载场景。
  • preloadScene 预加载场景,你可以在任何时候调用这个方法。
  • _loadSceneByUuid Loads the scene by its uuid.
  • resume 恢复暂停场景的游戏逻辑,如果当前场景没有暂停将没任何事情发生。
  • setDepthTest 启用/禁用深度测试(在 Canvas 渲染模式下不会生效)。
  • setClearColor 设置场景的默认擦除颜色。
  • setProjection 设置 OpenGL 投影。
  • setViewport 设置视窗(请不要主动调用这个接口,除非你知道你在做什么)。
  • getProjection 获取 OpenGL 投影。
  • setAlphaBlending 启用/禁用 透明度融合。
  • isSendCleanupToScene 更换场景时是否接收清理消息。
  • getRunningScene 获取当前运行的渲染场景,一般情况下,你不会需要用到这个接口,请使用 getScene。
  • getScene 获取当前逻辑场景。
  • getAnimationInterval 获取单位帧执行时间。
  • isDisplayStats 获取是否显示 FPS 信息。
  • setDisplayStats 设置是否在左下角显示 FPS。
  • isNextDeltaTimeZero 返回下一个 “delta time” 是否等于零。
  • isPaused 是否处于暂停状态。
  • getTotalFrames 获取 director 启动以来游戏运行的总帧数。
  • getScheduler 获取和 director 相关联的 cc.Scheduler。
  • setScheduler 设置和 director 相关联的 cc.Scheduler。
  • getActionManager 获取和 director 相关联的 cc.ActionManager(动作管理器)。
  • setActionManager 设置和 director 相关联的 cc.ActionManager(动作管理器)。
  • getCollisionManager Returns the cc.CollisionManager associated with this director.
  • getPhysicsManager Returns the cc.PhysicsManager associated with this director.
  • getDeltaTime 获取上一帧的 “delta time”。
  • on 注册事件目标的特定事件类型回调。
  • off 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。
  • targetOff 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。
  • once 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。
  • dispatchEvent 分发事件到事件流中。
  • emit 该对象直接发送事件, 这种方法不会对事件传播到任何其他对象。
事件

Details

属性(properties)

EVENT_PROJECTION_CHANGED

cc.Director 投影变化的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1276
EVENT_BEFORE_SCENE_LOADING

加载新场景之前所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1292
EVENT_BEFORE_SCENE_LAUNCH

运行新场景之前所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1308
EVENT_AFTER_SCENE_LAUNCH

运行新场景之后所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1324
EVENT_BEFORE_UPDATE

每个帧的开始时所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1339
EVENT_AFTER_UPDATE

将在引擎和组件 “update” 逻辑之后所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1354
EVENT_BEFORE_VISIT

访问渲染场景树之前所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1369
EVENT_AFTER_VISIT

访问渲染场景图之后所触发的事件,渲染队列已准备就绪,但在这一时刻还没有呈现在画布上。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1387
EVENT_AFTER_DRAW

渲染过程之后所触发的事件。

meta description
类型 String
定义于 cocos2d/core/CCDirector.js:1405
PROJECTION_2D

Constant for 2D projection (orthogonal projection)

meta description
类型 Number
定义于 cocos2d/core/CCDirector.js:1568
PROJECTION_3D

Constant for 3D projection with a fovy=60, znear=0.5f and zfar=1500.

meta description
类型 Number
定义于 cocos2d/core/CCDirector.js:1577
PROJECTION_CUSTOM

Constant for custom projection, if cc.Director's projection set to it, it calls "updateProjection" on the projection delegate.

meta description
类型 Number
定义于 cocos2d/core/CCDirector.js:1586
PROJECTION_DEFAULT

Constant for default projection of cc.Director, default projection is 2D projection

meta description
类型 Number
定义于 cocos2d/core/CCDirector.js:1595

方法

convertToUI

将触摸点的 WebGL View 坐标转换为屏幕坐标。

meta description
返回 Vec2
定义于 cocos2d/core/CCDirector.js:272
参数列表
getWinSize

获取视图的大小,以点为单位。

meta description
返回 Size
定义于 cocos2d/core/CCDirector.js:337
getWinSizeInPixels

获取视图大小,以像素为单位(这里的像素指的是资源分辨率。 如果要获取屏幕物理分辨率,需要用 cc.view.getFrameSize())

meta description
返回 Size
定义于 cocos2d/core/CCDirector.js:349
getVisibleSize

获取运行场景的可见大小。

meta description
返回 Size
定义于 cocos2d/core/CCDirector.js:371
getVisibleOrigin

获取视图在游戏内容中的坐标原点。

meta description
返回 Vec2
定义于 cocos2d/core/CCDirector.js:379
pause

暂停正在运行的场景,该暂停只会停止游戏逻辑执行,但是不会停止渲染和 UI 响应。 如果想要更彻底得暂停游戏,包含渲染,音频和事件,请使用 Game.pause。

meta description
定义于 cocos2d/core/CCDirector.js:395
runSceneImmediate

立刻切换指定场景。

meta description
定义于 cocos2d/core/CCDirector.js:539
参数列表
  • scene Scene The need run scene.
  • onBeforeLoadScene Function The function invoked at the scene before loading.
  • onLaunched Function The function invoked at the scene after launch.
runScene

运行指定场景。

meta description
定义于 cocos2d/core/CCDirector.js:648
参数列表
  • scene Scene The need run scene.
  • onBeforeLoadScene Function The function invoked at the scene before loading.
  • onLaunched Function The function invoked at the scene after launch.
loadScene

通过场景名称进行加载场景。

meta description
返回 Boolean
定义于 cocos2d/core/CCDirector.js:705
参数列表
  • sceneName String The name of the scene to load.
  • onLaunched Function callback, will be called after scene launched.
preloadScene

预加载场景,你可以在任何时候调用这个方法。 调用完后,你仍然需要通过 cc.director.loadScene 来启动场景,因为这个方法不会执行场景加载操作。 就算预加载还没完成,你也可以直接调用 cc.director.loadScene,加载完成后场景就会启动。

meta description
定义于 cocos2d/core/CCDirector.js:753
参数列表
  • sceneName String The name of the scene to preload.
  • onLoaded Function callback, will be called after scene loaded.
    • error Error null or the error object.
_loadSceneByUuid

Loads the scene by its uuid.

meta description
定义于 cocos2d/core/CCDirector.js:788
参数列表
  • uuid String the uuid of the scene asset to load
  • onLaunched Function
  • onUnloaded Function
  • dontRunScene Boolean Just download and initialize the scene but will not launch it,
                                only take effect in the Editor.
    
resume

恢复暂停场景的游戏逻辑,如果当前场景没有暂停将没任何事情发生。

meta description
定义于 cocos2d/core/CCDirector.js:851
setDepthTest

启用/禁用深度测试(在 Canvas 渲染模式下不会生效)。

meta description
定义于 cocos2d/core/CCDirector.js:882
参数列表
setClearColor

设置场景的默认擦除颜色。
支持全透明,但不支持透明度为中间值。要支持全透明需手工开启 cc.macro.ENABLE_TRANSPARENT_CANVAS。

meta description
定义于 cocos2d/core/CCDirector.js:892
参数列表
setProjection

设置 OpenGL 投影。

meta description
定义于 cocos2d/core/CCDirector.js:978
参数列表
setViewport

设置视窗(请不要主动调用这个接口,除非你知道你在做什么)。

meta description
定义于 cocos2d/core/CCDirector.js:988
getProjection

获取 OpenGL 投影。

meta description
返回 Number
定义于 cocos2d/core/CCDirector.js:1008
setAlphaBlending

启用/禁用 透明度融合。

meta description
定义于 cocos2d/core/CCDirector.js:1018
参数列表
isSendCleanupToScene

更换场景时是否接收清理消息。
如果新场景是采用 push 方式进入的,那么旧的场景将不会接收到 “cleanup” 消息。
如果新场景取代旧的场景,它将会接收到 “cleanup” 消息。

meta description
返回 Boolean
定义于 cocos2d/core/CCDirector.js:1028
getRunningScene

获取当前运行的渲染场景,一般情况下,你不会需要用到这个接口,请使用 getScene。

meta description
返回 Scene
定义于 cocos2d/core/CCDirector.js:1044
getScene

获取当前逻辑场景。

meta description
返回 Scene
定义于 cocos2d/core/CCDirector.js:1057
示例
// This will help you to get the Canvas node in scene
 cc.director.getScene().getChildByName('Canvas');
getAnimationInterval

获取单位帧执行时间。

meta description
返回 Number
定义于 cocos2d/core/CCDirector.js:1070
isDisplayStats

获取是否显示 FPS 信息。

meta description
返回 Boolean
定义于 cocos2d/core/CCDirector.js:1080
setDisplayStats

设置是否在左下角显示 FPS。

meta description
定义于 cocos2d/core/CCDirector.js:1090
参数列表
isNextDeltaTimeZero

返回下一个 “delta time” 是否等于零。

meta description
返回 Boolean
定义于 cocos2d/core/CCDirector.js:1103
isPaused

是否处于暂停状态。

meta description
返回 Boolean
定义于 cocos2d/core/CCDirector.js:1113
getTotalFrames

获取 director 启动以来游戏运行的总帧数。

meta description
返回 Number
定义于 cocos2d/core/CCDirector.js:1123
getScheduler

获取和 director 相关联的 cc.Scheduler。

meta description
返回 Scheduler
定义于 cocos2d/core/CCDirector.js:1177
setScheduler

设置和 director 相关联的 cc.Scheduler。

meta description
定义于 cocos2d/core/CCDirector.js:1187
参数列表
getActionManager

获取和 director 相关联的 cc.ActionManager(动作管理器)。

meta description
返回 ActionManager
定义于 cocos2d/core/CCDirector.js:1199
setActionManager

设置和 director 相关联的 cc.ActionManager(动作管理器)。

meta description
定义于 cocos2d/core/CCDirector.js:1208
参数列表
getCollisionManager

Returns the cc.CollisionManager associated with this director.

meta description
返回 CollisionManager
定义于 cocos2d/core/CCDirector.js:1234
getPhysicsManager

Returns the cc.PhysicsManager associated with this director.

meta description
返回 PhysicsManager
定义于 cocos2d/core/CCDirector.js:1243
getDeltaTime

获取上一帧的 “delta time”。

meta description
返回 Number
定义于 cocos2d/core/CCDirector.js:1252
on

注册事件目标的特定事件类型回调。

meta description
返回 Function
定义于 cocos2d/core/event/event-target.js:218
参数列表
  • type String A string representing the event type to listen for.
  • callback Function The callback that will be invoked when the event is dispatched.
                           The callback is ignored if it is a duplicate (the callbacks are unique).
    
  • target Object The target (this object) to invoke the callback, can be null
  • useCapture Boolean When set to true, the capture argument prevents callback
                           from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE.
                           When false, callback will NOT be invoked when event's eventPhase attribute value is CAPTURING_PHASE.
                           Either way, callback will be invoked when event's eventPhase attribute value is AT_TARGET.
    
示例
node.on(cc.Node.EventType.TOUCH_END, function (event) {
    cc.log("this is callback");
}, node);
off

删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。

meta description
定义于 cocos2d/core/event/event-target.js:275
参数列表
  • type String A string representing the event type being removed.
  • callback Function The callback to remove.
  • target Object The target (this object) to invoke the callback, if it's not given, only callback without target will be removed
  • useCapture Boolean Specifies whether the callback being removed was registered as a capturing callback or not.
                           If not specified, useCapture defaults to false. If a callback was registered twice,
                           one with capture and one without, each must be removed separately. Removal of a capturing callback
                           does not affect a non-capturing version of the same listener, and vice versa.
    
示例
// register touchEnd eventListener
var touchEnd = node.on(cc.Node.EventType.TOUCH_END, function (event) {
    cc.log("this is callback");
}, node);
// remove touch end event listener
node.off(cc.Node.EventType.TOUCH_END, touchEnd, node);
// remove all touch end event listeners
node.off(cc.Node.EventType.TOUCH_END);
targetOff

在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。

meta description
定义于 cocos2d/core/event/event-target.js:330
参数列表
  • target Object The target to be searched for all related listeners
once

注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

meta description
定义于 cocos2d/core/event/event-target.js:352
参数列表
  • type String A string representing the event type to listen for.
  • callback Function The callback that will be invoked when the event is dispatched.
                           The callback is ignored if it is a duplicate (the callbacks are unique).
    
  • target Object The target (this object) to invoke the callback, can be null
  • useCapture Boolean When set to true, the capture argument prevents callback
                           from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE.
                           When false, callback will NOT be invoked when event's eventPhase attribute value is CAPTURING_PHASE.
                           Either way, callback will be invoked when event's eventPhase attribute value is AT_TARGET.
    
示例
node.once(cc.Node.EventType.TOUCH_END, function (event) {
    cc.log("this is callback");
}, node);
dispatchEvent

分发事件到事件流中。

meta description
定义于 cocos2d/core/event/event-target.js:397
参数列表
  • event Event The Event object that is dispatched into the event flow
emit

该对象直接发送事件, 这种方法不会对事件传播到任何其他对象。

meta description
定义于 cocos2d/core/event/event-target.js:411
参数列表
  • message String the message to send
  • detail Any whatever argument the message needs

事件

cc.Director.EVENT_PROJECTION_CHANGED Event

模块: cc

cc.Director 投影变化的事件。

索引

Details

cc.Director.EVENT_BEFORE_SCENE_LOADING Event

模块: cc

加载新场景之前所触发的事件。

索引

Details

cc.Director.EVENT_AFTER_SCENE_LAUNCH Event

模块: cc

运行新场景之后所触发的事件。

索引

Details

cc.Director.EVENT_BEFORE_UPDATE Event

模块: cc

每个帧的开始时所触发的事件。

索引

Details

cc.Director.EVENT_AFTER_UPDATE Event

模块: cc

将在引擎和组件 “update” 逻辑之后所触发的事件。

索引

Details

cc.Director.EVENT_BEFORE_VISIT Event

模块: cc

访问渲染场景树之前所触发的事件。

索引

Details

cc.Director.EVENT_AFTER_VISIT Event

模块: cc

访问渲染场景图之后所触发的事件,渲染队列已准备就绪,但在这一时刻还没有呈现在画布上。

索引

Details

cc.Director.EVENT_AFTER_DRAW Event

模块: cc

渲染过程之后所触发的事件。

索引

Details

results matching ""

    No results matching ""