Cocos Creator API

1.2.0

Cocos Creator is a highly customizable game development tool that utilizes the power of cocos2d-x.

Director

模块: 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。

方法

convertToUI
(
  • glPoint
)
Vec2

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

名称 类型 描述
glPoint Vec2

返回:

类型: Vec2

getWinSize ( ) Size

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

返回:

类型: Size

getWinSizeInPixels ( ) Size

获取视图大小,以像素为单位。

返回:

类型: Size

getVisibleSize ( ) Size

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

返回:

类型: Size

getVisibleOrigin ( ) Vec2

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

返回:

类型: Vec2

pause ( )

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

runSceneImmediate
(
  • scene
  • [onBeforeLoadScene ]
  • [onLaunched ]
)

立刻切换指定场景。

名称 类型 描述
scene Scene

The need run scene.

onBeforeLoadScene optional Function

The function invoked at the scene before loading.

onLaunched optional Function

The function invoked at the scene after launch.

runScene
(
  • scene
  • [onBeforeLoadScene ]
  • [onLaunched ]
)

运行指定场景。

名称 类型 描述
scene Scene

The need run scene.

onBeforeLoadScene optional Function

The function invoked at the scene before loading.

onLaunched optional Function

The function invoked at the scene after launch.

loadScene
(
  • sceneName
  • [onLaunched ]
)
Boolean

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

名称 类型 描述
sceneName String

The name of the scene to load.

onLaunched optional Function

callback, will be called after scene launched.

返回:

类型: Boolean

if error, return false

preloadScene
(
  • sceneName
  • [onLoaded ]
)

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

名称 类型 描述
sceneName String

The name of the scene to preload.

onLoaded optional Function

callback, will be called after scene loaded.

  • error Error

    null or the error object.

_loadSceneByUuid
(
  • uuid
  • [onLaunched ]
  • [onUnloaded ]
)
private

Loads the scene by its uuid.

名称 类型 描述
uuid String

the uuid of the scene asset to load

onLaunched optional Function
onUnloaded optional Function

resume ( )

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

setDepthTest
(
  • on
)

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

名称 类型 描述
on Boolean

setClearColor
(
  • clearColor
)

设置场景的默认擦除颜色(支持白色全透明,但不支持透明度为中间值)。

名称 类型 描述
clearColor Color

setProjection
(
  • projection
)

设置 OpenGL 投影。

名称 类型 描述
projection Number

setViewport ( )

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

getProjection ( ) Number

获取 OpenGL 投影。

返回:

类型: Number

setAlphaBlending
(
  • on
)

启用/禁用 透明度融合。

名称 类型 描述
on Boolean

isSendCleanupToScene ( ) Boolean

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

返回:

类型: Boolean

getRunningScene ( ) Scene private

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

返回:

类型: Scene

getScene ( ) Scene

获取当前逻辑场景。

返回:

类型: Scene

示例:

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

getAnimationInterval ( ) Number

获取单位帧执行时间。

返回:

类型: Number

isDisplayStats ( ) Boolean

获取是否显示 FPS 信息。

返回:

类型: Boolean

setDisplayStats
(
  • displayStats
)

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

名称 类型 描述
displayStats Boolean

getSecondsPerFrame ( ) Number

获取实际记录的上一帧执行时间,可能与单位帧执行时间(AnimationInterval)有出入。

返回:

类型: Number

isNextDeltaTimeZero ( ) Boolean

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

返回:

类型: Boolean

isPaused ( ) Boolean

是否处于暂停状态。

返回:

类型: Boolean

getTotalFrames ( ) Number

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

返回:

类型: Number

getScheduler ( ) Scheduler

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

返回:

类型: Scheduler

setScheduler
(
  • scheduler
)

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

名称 类型 描述
scheduler Scheduler

getActionManager ( ) ActionManager

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

返回:

类型: ActionManager

setActionManager
(
  • actionManager
)

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

名称 类型 描述
actionManager ActionManager

getCollisionManager ( ) CollisionManager

Returns the cc.CollisionManager associated with this director.

返回:

getDeltaTime ( ) Number

获取上一帧的 “delta time”。

返回:

类型: Number

There are no methods that match your current filter settings. You can change your filter settings in the index section on this page. index

事件

cc.Director.EVENT_PROJECTION_CHANGED

cc.Director 投影变化的事件。

Event Payload:

示例:

cc.director.on(cc.Director.EVENT_PROJECTION_CHANGED, function(event) {
     cc.log("Projection changed.");
  });

cc.Director.EVENT_BEFORE_SCENE_LOADING

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

Event Payload:

  • event Event
    • detail Vec2
      The loading scene name

cc.Director.EVENT_AFTER_SCENE_LAUNCH

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

Event Payload:

  • event Event
    • detail Vec2
      New scene which is launched

cc.Director.EVENT_BEFORE_UPDATE

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

Event Payload:

cc.Director.EVENT_COMPONENT_UPDATE

组件 “update” 时所触发的事件。

Event Payload:

  • event Event
    • detail Vec2
      The delta time from last frame

cc.Director.EVENT_COMPONENT_LATE_UPDATE

组件 “late update” 时所触发的事件。

Event Payload:

  • event Event
    • detail Vec2
      The delta time from last frame

cc.Director.EVENT_AFTER_UPDATE

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

Event Payload:

cc.Director.EVENT_BEFORE_VISIT

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

Event Payload:

cc.Director.EVENT_AFTER_VISIT

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

Event Payload:

cc.Director.EVENT_AFTER_DRAW

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

Event Payload:

There are no events that match your current filter settings. You can change your filter settings in the index section on this page. index