Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Game

包含游戏主体信息并负责驱动游戏的游戏对象。

class

game

static

Hierarchy

Index

Properties

_callbackTable

_callbackTable: ICallbackTable = createMap(true)

_configLoaded

_configLoaded: boolean = false

_frameTime

_frameTime: number | null = null

_gfxDevice

_gfxDevice: WebGL2GFXDevice | WebGLGFXDevice | null = null

_intervalId

_intervalId: number | null = null

_isCloning

_isCloning: boolean = false

_lastTime

_lastTime: Date | null = null

_paused

_paused: boolean = true

persistRootNodes

persistRootNodes: object

Type declaration

_prepared

_prepared: boolean = false

_rendererInitialized

_rendererInitialized: boolean = false

_sceneInfos

_sceneInfos: never[] = []

canvas

canvas: HTMLElement | HTMLCanvasElement | null = null

游戏的画布。

property

canvas

collisionMatrix

collisionMatrix: never[] = []

config

config: any

当前的游戏配置,包括:

  1. debugMode(debug 模式,但是在浏览器中这个选项会被忽略)
    "debugMode" 各种设置选项的意义。
      0 - 没有消息被打印出来。
      1 - cc.errorcc.assertcc.warn,cc.log 将打印在 console 中。
      2 - cc.errorcc.assertcc.warn 将打印在 console 中。
      3 - cc.errorcc.assert 将打印在 console 中。
      4 - cc.errorcc.assertcc.warn,cc.log 将打印在 canvas 中(仅适用于 web 端)。
      5 - cc.errorcc.assertcc.warn 将打印在 canvas 中(仅适用于 web 端)。
      6 - cc.errorcc.assert 将打印在 canvas 中(仅适用于 web 端)。
  2. showFPS(显示 FPS)
    当 showFPS 为 true 的时候界面的左下角将显示 fps 的信息,否则被隐藏。
  3. exposeClassName
    暴露类名让 Chrome DevTools 可以识别,如果开启会稍稍降低类的创建过程的性能,但对对象构造没有影响。
  4. frameRate (帧率)
    “frameRate” 设置想要的帧率你的游戏,但真正的FPS取决于你的游戏实现和运行环境。
  5. id
    "gameCanvas" Web 页面上的 Canvas Element ID,仅适用于 web 端。
  6. renderMode(渲染模式)
    “renderMode” 设置渲染器类型,仅适用于 web 端:
      0 - 通过引擎自动选择。
      1 - 强制使用 canvas 渲染。
      2 - 强制使用 WebGL 渲染,但是在部分 Android 浏览器中这个选项会被忽略。
  7. scenes
    “scenes” 当前包中可用场景。

    注意:请不要直接修改这个对象,它不会有任何效果。
property

config

container

container: HTMLDivElement | null = null

游戏画布的容器。

property

container

eventTargetOn

eventTargetOn: on = super.on

eventTargetOnce

eventTargetOnce: once = super.once

frame

frame: Object | null = null

游戏画布的外框,container 的父容器。

property

frame

groupList

groupList: never[] = []

onStart

onStart: Function | null = null

当引擎完成启动后的回调函数。

method

onStart

renderType

renderType: number = -1

游戏的渲染器类型。

property

renderType

Static EVENT_ENGINE_INITED

EVENT_ENGINE_INITED: string = "engine_inited"

在引擎初始化之后触发的事件,此时您能够使用引擎所有的类。
它在 cocos creator v1.x 版本中名字为 EVENT_RENDERER_INITED ,在 v2.0 版本中更名为 EVENT_ENGINE_INITED

property

EVENT_ENGINE_INITED

constant

Static EVENT_GAME_INITED

EVENT_GAME_INITED: string = "game_inited"

游戏启动后的触发事件,此时加载所有的引擎对象和游戏脚本。

property

EVENT_GAME_INITED

constant

Static EVENT_HIDE

EVENT_HIDE: string = "game_on_hide"

游戏进入后台时触发的事件。
请注意,在 WEB 平台,这个事件不一定会 100% 触发,这完全取决于浏览器的回调行为。
在原生平台,它对应的是应用被切换到后台事件,下拉菜单和上拉状态栏等不一定会触发这个事件,这取决于系统行为。

property

EVENT_HIDE

example
cc.game.on(Game.EVENT_HIDE, function () {
    cc.audioEngine.pauseMusic();
    cc.audioEngine.pauseAllEffects();
});

Static EVENT_RENDERER_INITED

EVENT_RENDERER_INITED: string = "engine_inited"

Static EVENT_SHOW

EVENT_SHOW: string = "game_on_show"

游戏进入前台运行时触发的事件。
请注意,在 WEB 平台,这个事件不一定会 100% 触发,这完全取决于浏览器的回调行为。
在原生平台,它对应的是应用被切换到前台事件。

property

EVENT_SHOW

constant

Static RENDER_TYPE_CANVAS

RENDER_TYPE_CANVAS: number = 0

使用 Web Canvas 2d API 作为渲染器后端。

property

RENDER_TYPE_CANVAS

constant

Static RENDER_TYPE_OPENGL

RENDER_TYPE_OPENGL: number = 2

使用 OpenGL API 作为渲染器后端。

property

RENDER_TYPE_OPENGL

constant

Static RENDER_TYPE_WEBGL

RENDER_TYPE_WEBGL: number = 1

使用 WebGL API 作为渲染器后端。

property

RENDER_TYPE_WEBGL

constant

Methods

Private ctTime

  • ctTime(id: number | undefined): void

Private determineRenderType

  • _determineRenderType(): void

Private initConfig

  • initConfig(config: object): void
  • Parameters

    • config: object
      • collisionMatrix: never[]
      • debugMode: number
      • exposeClassName: boolean
      • frameRate: number
      • groupList: never[]
      • registerSystemEvent: boolean
      • renderMode: number
      • scenes: never[]
      • showFPS: boolean

    Returns void

Private initEngine

  • _initEngine(): void

Private initEvents

  • _initEvents(): void

Private initRenderer

  • _initRenderer(): void

Private prepareFinished

  • prepareFinished(cb: Function | null): void

Private runMainLoop

  • _runMainLoop(): void

Private setAnimFrame

  • _setAnimFrame(): void

Private stTime

  • stTime(callback: any): number

addPersistRootNode

  • addPersistRootNode(node: object): void
  • 声明常驻根节点,该节点不会被在场景切换中被销毁。
    目标节点必须位于为层级的根节点,否则无效。

    Parameters

    • node: object

      The node to be made persistent

      • _persistNode: boolean
      • parent: any
      • uuid: any

    Returns void

emit

  • emit(key: string, ...args: any[]): void

end

  • end(): void

getFrameRate

  • getFrameRate(): number
  • 获取设置的游戏帧率(不等同于实际帧率)。

    Returns number

    frame rate

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

isPersistRootNode

  • isPersistRootNode(node: object): any
  • 检查节点是否是常驻根节点。

    Parameters

    • node: object

      The node to be checked

      • _persistNode: any

    Returns any

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?: undefined | object): any
  • 注册 game 的特定事件类型回调。这种类型的事件应该被 emit 触发。

    Parameters

    • 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).

    • Optional target: undefined | object

    Returns any

    • Just returns the incoming callback so you can save the anonymous function easier.

once

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

    Parameters

    • 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

    Returns void

pause

  • pause(): void
  • 暂停游戏主循环。包含:游戏逻辑,渲染,事件处理,背景音乐和所有音效。这点和只暂停游戏逻辑的 cc.director.pause 不同。

    Returns void

Protected prepare

  • prepare(cb: Function | null): void
  • 准备引擎,请不要直接调用这个函数。

    Parameters

    • cb: Function | null

    Returns void

removeAll

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

    Parameters

    • Optional keyOrTarget: string | Object

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

    Returns void

removePersistRootNode

  • removePersistRootNode(node: object): void
  • 取消常驻根节点。

    Parameters

    • node: object

      The node to be removed from persistent node list

      • _persistNode: boolean
      • uuid: string

    Returns void

restart

  • restart(): void

resume

  • resume(): void
  • 恢复游戏主循环。包含:游戏逻辑,渲染,事件处理,背景音乐和所有音效。

    Returns void

run

  • run(config: any, onStart: Function | null): void
  • 运行游戏,并且指定引擎配置和 onStart 的回调。

    Parameters

    • config: any

      Pass configuration object or onStart function

    • onStart: Function | null

      function to be executed after game initialized

    Returns void

setFrameRate

  • setFrameRate(frameRate: number): void

step

  • step(): void

targetOff

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

    Parameters

    • Optional keyOrTarget: string | Object

    Returns void

Generated using TypeDoc