Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Director

注意:用 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。

class

Director

extends

EventTarget

Hierarchy

Index

Type aliases

Static OnBeforeLoadScene

OnBeforeLoadScene: function

Type declaration

    • (): void
    • Returns void

Static OnLoadSceneProgress

OnLoadSceneProgress: function
param

The number of the items that are already completed.

param

The total number of the items.

param

The latest item which flow out the pipeline.

Type declaration

    • (completedCount: number, totalCount: number, item: any): void
    • Parameters

      • completedCount: number
      • totalCount: number
      • item: any

      Returns void

Static OnSceneLaunched

OnSceneLaunched: function

Type declaration

    • (error: null | Error, scene?: Scene): void
    • Parameters

      • error: null | Error
      • Optional scene: Scene

      Returns void

Static OnSceneLoaded

OnSceneLoaded: function

Type declaration

    • (error: null | Error, sceneAsset?: SceneAsset): void
    • Parameters

      • error: null | Error
      • Optional sceneAsset: SceneAsset

      Returns void

Static OnUnload

OnUnload: function

Type declaration

    • (): void
    • Returns void

Constructors

constructor

  • Returns Director

Events

Static EVENT_AFTER_PHYSICS

EVENT_AFTER_PHYSICS: "director_after_physics" = "director_after_physics"

The event which will be triggered after the physics process.
物理过程之后所触发的事件。

readonly

Static EVENT_BEFORE_PHYSICS

EVENT_BEFORE_PHYSICS: "director_before_physics" = "director_before_physics"

The event which will be triggered before the physics process.
物理过程之前所触发的事件。

readonly

Properties

_callbackTable

_callbackTable: ICallbackTable = createMap(true)

_compScheduler

_compScheduler: ComponentScheduler

Private _deltaTime

_deltaTime: number

Private _invalid

_invalid: boolean

Private _lastUpdate

_lastUpdate: number

Private _loadingScene

_loadingScene: string

_nodeActivator

_nodeActivator: NodeActivator

Private _paused

_paused: boolean

Private _purgeDirectorInNextLoop

_purgeDirectorInNextLoop: boolean

Private _root

_root: Root | null

Private _scene

_scene: Scene | null

Private _scheduler

_scheduler: Scheduler

Private _systems

_systems: System[]

Private _totalFrames

_totalFrames: number

Static EVENT_AFTER_DRAW

EVENT_AFTER_DRAW: "director_after_draw" = "director_after_draw"

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

property

{String} EVENT_AFTER_DRAW

readonly

Static EVENT_AFTER_SCENE_LAUNCH

EVENT_AFTER_SCENE_LAUNCH: "director_after_scene_launch" = "director_after_scene_launch"

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

property

{String} EVENT_AFTER_SCENE_LAUNCH

readonly

Static EVENT_AFTER_UPDATE

EVENT_AFTER_UPDATE: "director_after_update" = "director_after_update"

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

property

{String} EVENT_AFTER_UPDATE

readonly

Static EVENT_BEFORE_DRAW

EVENT_BEFORE_DRAW: "director_before_draw" = "director_before_draw"

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

property

{String} EVENT_BEFORE_DRAW

readonly

Static EVENT_BEFORE_SCENE_LAUNCH

EVENT_BEFORE_SCENE_LAUNCH: "director_before_scene_launch" = "director_before_scene_launch"

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

property

{String} EVENT_BEFORE_SCENE_LAUNCH

readonly

Static EVENT_BEFORE_SCENE_LOADING

EVENT_BEFORE_SCENE_LOADING: "director_before_scene_loading" = "director_before_scene_loading"

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

property

{String} EVENT_BEFORE_SCENE_LOADING

readonly

Static EVENT_BEFORE_UPDATE

EVENT_BEFORE_UPDATE: "director_before_update" = "director_before_update"

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

property

{String} EVENT_BEFORE_UPDATE

readonly

Static EVENT_INIT

EVENT_INIT: "director_init" = "director_init"

Director 单例初始化时触发的事件

property

{String} EVENT_INIT

readonly

Static EVENT_RESET

EVENT_RESET: "director_reset" = "director_reset"

Director 单例重置时触发的事件

property

{String} EVENT_RESET

readonly

Static instance

instance: Director

Accessors

root

  • get root(): null | Root
  • Returns null | Root

Methods

getSceneUuid

  • getSceneUuid(key: string | number): any
  • Parameters

    • key: string | number

    Returns any

Private initOnEngineInitialized

  • _initOnEngineInitialized(): boolean
  • Returns boolean

Private initOnRendererInitialized

  • _initOnRendererInitialized(): void
  • Returns void

loadSceneByUuid

  • loadSceneByUuid(uuid: string, doNotRun?: undefined | false | true): void
  • loadSceneByUuid(uuid: string, onLaunched?: OnSceneLaunched, doNotRun?: undefined | false | true): void
  • loadSceneByUuid(uuid: string, onLaunched?: OnSceneLaunched, onUnloaded?: OnUnload, doNotRun?: undefined | false | true): void
  • 通过 uuid 加载场景。

    Parameters

    • uuid: string

      场景资源的 uuid。

    • Optional doNotRun: undefined | false | true

      仅加载和初始化场景,但并不运行。此参数仅在编辑器环境中生效。

    Returns void

  • Parameters

    • uuid: string
    • Optional onLaunched: OnSceneLaunched
    • Optional doNotRun: undefined | false | true

    Returns void

  • Parameters

    • uuid: string
    • Optional onLaunched: OnSceneLaunched
    • Optional onUnloaded: OnUnload
    • Optional doNotRun: undefined | false | true

    Returns void

calculateDeltaTime

  • calculateDeltaTime(): void
  • calculates delta time since last time it was called

    Returns void

convertToGL

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

    deprecated

    since v2.0

    Parameters

    Returns Vec2

convertToUI

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

    deprecated

    since v2.0

    Parameters

    Returns Vec2

emit

  • emit(key: string, ...args: any[]): void
  • 事件派发

    Parameters

    • key: string

      一个监听事件类型的字符串

    • Rest ...args: any[]

    Returns void

end

  • end(): void
  • End the life of director in the next frame

    Returns void

getAnimationInterval

  • getAnimationInterval(): number
  • 获取单位帧执行时间。请使用 Game.setFrameRate 来控制游戏帧率。

    deprecated

    since v2.0.

    Returns number

getAnimationManager

  • getAnimationManager(): any
  • 获取和 director 相关联的 cc.AnimationManager(动画管理器)。请使用 getSystem(AnimationManager.ID) 来替代

    deprecated

    Returns any

getCurrentTime

  • getCurrentTime(): number
  • 获取当前帧的时间。

    Returns number

getDeltaTime

  • getDeltaTime(): number
  • 获取上一帧的增量时间。

    Returns number

getRunningScene

  • getRunningScene(): null | Scene
  • 获取当前逻辑场景。

    deprecated

    Since v2.0.

    Returns null | Scene

getScene

  • getScene(): Scene | null
  • 获取当前逻辑场景。

    example
    import { director } from 'cc';
    // This will help you to get the Canvas node in scene
    director.getScene().getChildByName('Canvas');

    Returns Scene | null

getScheduler

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

    Returns Scheduler

getSystem

  • getSystem(name: string): undefined | System
  • 获取一个 system。

    Parameters

    • name: string

    Returns undefined | System

getTotalFrames

  • getTotalFrames(): number
  • 获取 director 启动以来游戏运行的总帧数。

    Returns number

getWinSize

  • getWinSize(): Size
  • 获取视图的大小,以点为单位。

    deprecated

    since v2.0

    Returns Size

getWinSizeInPixels

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

    deprecated

    since v2.0

    Returns Size

hasEventListener

  • hasEventListener(key: string, callback?: Function, target?: Object | null): boolean
  • 检查指定事件是否已注册回调。

    Parameters

    • key: string

      一个监听事件类型的字符串。

    • Optional callback: Function

      事件分派时将被调用的回调函数。

    • Default value target: Object | null = null

      调用回调的目标。

    Returns boolean

    • 指定事件是否已注册回调。

isPaused

  • isPaused(): boolean
  • 是否处于暂停状态。

    Returns boolean

loadScene

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

    Parameters

    • sceneName: string

      The name of the scene to load.

    • Optional onLaunched: OnSceneLaunched

      callback, will be called after scene launched.

    • Optional onUnloaded: OnUnload

    Returns boolean

    if error, return false

mainLoop

  • mainLoop(time: number): void
  • 运行主循环

    Parameters

    • time: number

    Returns void

off

  • off(type: string, callback?: Function, target?: Object): void
  • 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。

    example
    // register fire eventListener
    var callback = eventTarget.on('fire', function () {
        cc.log("fire in the hole");
    }, target);
    // remove fire event listener
    eventTarget.off('fire', callback, target);
    // remove all fire event listeners
    eventTarget.off('fire');

    Parameters

    • type: string

      一个监听事件类型的字符串。

    • Optional callback: Function

      事件分派时将被调用的回调函数。

    • Optional target: Object

      调用回调的目标。如果为空, 只有没有目标的事件会被移除。

    Returns void

on

  • on(type: string, callback: Function, target?: Object): undefined | Function
  • 注册事件目标的特定事件类型回调。这种类型的事件应该被 emit 触发。

    example
    eventTarget.on('fire', function () {
        cc.log("fire in the hole");
    }, node);

    Parameters

    • type: string

      一个监听事件类型的字符串.

    • callback: Function

      事件分派时将被调用的回调函数。如果该回调存在则不会重复添加.

    • Optional target: Object

      回调的目标。可以为空。

    Returns undefined | Function

    • 返回监听回调函数自身。

once

  • once(type: string, callback: Function, target?: Object): undefined | Function
  • 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

    example
    eventTarget.once('fire', function () {
        cc.log("this is the callback and will be invoked only once");
    }, node);

    Parameters

    • type: string

      一个监听事件类型的字符串。

    • callback: Function

      事件分派时将被调用的回调函数。如果该回调存在则不会重复添加。

    • Optional target: Object

      调用回调的目标。可以为空。

    Returns undefined | Function

pause

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

    Returns void

preloadScene

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

    Parameters

    • sceneName: string

      场景名称。

    • Optional onLoaded: OnSceneLoaded

      加载回调。

    Returns void

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

    Parameters

    Returns void

purgeCachedData

  • purgeCachedData(): void
  • 删除cocos2d所有的缓存数据

    deprecated

    since v2.0

    Returns void

purgeDirector

  • purgeDirector(): void
  • 清除 cc.director 本身,包括停止所有的计时器,
    移除所有的事件监听器,清理并退出当前运行的场景,停止所有动画,清理缓存数据。

    Returns void

registerSystem

  • registerSystem(name: string, sys: System, priority: number): void
  • 注册一个 system。

    Parameters

    • name: string
    • sys: System
    • priority: number

    Returns void

removeAll

  • removeAll(keyOrTarget?: string | Object): void
  • 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。

    Parameters

    • Optional keyOrTarget: string | Object

      要删除的事件键或要删除的目标。

    Returns void

reset

  • reset(): void
  • 重置 cc.director,可用于在清除后重启 director

    Returns void

resume

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

    Returns void

Private runScene

  • 运行指定场景。

    Parameters

    • scene: Scene

      The need run scene.

    • Optional onBeforeLoadScene: OnBeforeLoadScene

      The function invoked at the scene before loading.

    • Optional onLaunched: OnSceneLaunched

      The function invoked at the scene after launch.

    Returns void

runSceneImmediate

  • 运行指定场景。将正在运行的场景替换为(或重入为)新场景。新场景将立即启动。

    Parameters

    • scene: Scene

      The need run scene.

    • Optional onBeforeLoadScene: OnBeforeLoadScene

      The function invoked at the scene before loading.

    • Optional onLaunched: OnSceneLaunched

      The function invoked at the scene after launch.

    Returns void

setAnimationInterval

  • setAnimationInterval(value: number): void
  • 设置动画间隔,这不控制主循环。
    要控制游戏的帧速率,请使用 cc.game.setFrameRate

    deprecated

    since v2.0

    Parameters

    • value: number

      The animation interval desired.

    Returns void

setClearColor

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

    deprecated

    since v2.0

    Parameters

    Returns void

setDepthTest

  • setDepthTest(value: boolean): void
  • 启用/禁用深度测试(在 Canvas 渲染模式下不会生效)。

    deprecated

    since v2.0

    Parameters

    • value: boolean

    Returns void

setScheduler

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

    Parameters

    Returns void

startAnimation

  • startAnimation(): void
  • 开始动画

    Returns void

stopAnimation

  • stopAnimation(): void
  • 停止动画

    Returns void

targetOff

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

    Parameters

    • Optional keyOrTarget: string | Object

    Returns void

unregisterSystem

  • unregisterSystem(sys: System): void
  • Parameters

    • sys: System

    Returns void

Generated using TypeDoc