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: string[] = []

canvas

canvas: HTMLCanvasElement | null = null

游戏的画布。

property

canvas

collisionMatrix

collisionMatrix: never[] = []

config

config: IGameConfig

当前的游戏配置。 注意:请不要直接修改这个对象,它不会有任何效果。

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: any[] = []

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 并在 cocos creator 3d 版本中将 EVENT_RENDERER_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 = "renderer_inited"

在渲染器初始化之后触发的事件,此事件在 EVENT_ENGINE_INITED 之前触发,此时开始可使用 gfx 渲染框架。

property

EVENT_RENDERER_INITED

readonly

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
  • Parameters

    • id: number | undefined

    Returns void

Private determineRenderType

  • _determineRenderType(): void
  • Returns void

Private initConfig

  • Parameters

    Returns void

Private initEngine

  • initEngine(cb: Function | null): void
  • Parameters

    • cb: Function | null

    Returns void

Private initEvents

  • _initEvents(): void
  • Returns void

Private initRenderer

  • _initRenderer(): void
  • Returns void

Private runMainLoop

  • _runMainLoop(): void
  • Returns void

Private setAnimFrame

  • _setAnimFrame(): void
  • Returns void

Private stTime

  • stTime(callback: any): number
  • Parameters

    • callback: any

    Returns 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
  • 事件派发

    Parameters

    • key: string

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

    • Rest ...args: any[]

    Returns void

end

  • end(): void
  • 退出游戏

    Returns 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
  • 判断游戏是否暂停。

    Returns 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?: undefined | 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).

    • Optional target: undefined | 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
  • 重新开始游戏

    Returns 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
  • 设置游戏帧率。

    Parameters

    • frameRate: number

    Returns void

Private setRenderPipeline

  • setRenderPipeline(rppl: any): void
  • Parameters

    • rppl: any

    Returns void

step

  • step(): void
  • 执行一帧游戏循环。

    Returns void

targetOff

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

    Parameters

    • Optional keyOrTarget: string | Object

    Returns void

Generated using TypeDoc