Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Game

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

Hierarchy

Index

Properties

_configLoaded

_configLoaded: boolean = false

_frameTime

_frameTime: number | null = null

_gfxDevice

_gfxDevice: GFXDevice | null = null

_inited

_inited: boolean = false

_intervalId

_intervalId: number | null = null

_isCloning

_isCloning: boolean = false

_lastTime

_lastTime: Date | null = null

_paused

_paused: boolean = true

persistRootNodes

persistRootNodes: {}

Type declaration

_rendererInitialized

_rendererInitialized: boolean = false

_sceneInfos

_sceneInfos: ISceneInfo[] = []

canvas

canvas: HTMLCanvasElement | null = null

游戏的画布。

collisionMatrix

collisionMatrix: never[] = []

config

config: IGameConfig

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

container

container: HTMLDivElement | null = null

游戏画布的容器。

eventTargetOn

eventTargetOn: on = super.on

eventTargetOnce

eventTargetOnce: once = super.once

frame

frame: Object | null = null

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

groupList

groupList: any[] = []

onStart

onStart: Function | null = null

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

method

onStart

renderType

renderType: number = -1

游戏的渲染器类型。

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 用作为渲染器初始化的事件。

Static EVENT_GAME_INITED

EVENT_GAME_INITED: string = "game_inited"

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

Static EVENT_HIDE

EVENT_HIDE: string = "game_on_hide"

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

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

Static Readonly EVENT_RENDERER_INITED

EVENT_RENDERER_INITED: string = "renderer_inited"

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

Static EVENT_RESTART

EVENT_RESTART: string = "game_on_restart"

调用restart后,触发事件

Static Readonly EVENT_SHOW

EVENT_SHOW: string = "game_on_show"

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

Static RENDER_TYPE_CANVAS

RENDER_TYPE_CANVAS: number = 0

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

Static RENDER_TYPE_OPENGL

RENDER_TYPE_OPENGL: number = 2

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

Static RENDER_TYPE_WEBGL

RENDER_TYPE_WEBGL: number = 1

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

Accessors

inited

  • get inited(): boolean

Methods

Private ctTime

  • ctTime(id: number | undefined): void

Private determineRenderType

  • _determineRenderType(): void

Private initConfig

Private initDevice

  • _initDevice(): void

Private initEngine

  • _initEngine(): void

Private initEvents

  • _initEvents(): void

Private loadRenderPipeline

  • loadRenderPipeline(restart: Function | null): void

Private runMainLoop

  • _runMainLoop(): void

Private safeEmit

  • safeEmit(event: any): void

Private setAnimFrame

  • _setAnimFrame(): void

Private setRenderPipeline

Private stTime

  • stTime(callback: any): number

addPersistRootNode

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

    Parameters

    • node: { _persistNode: boolean; parent: any; uuid: any }

      The node to be made persistent

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

    Returns void

emit

  • emit(type: EventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void

end

  • end(): void

getFrameRate

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

    Returns number

    frame rate

hasEventListener

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

    Parameters

    • type: string

      Event type.

    • Optional callback: Function

      Callback function when event triggered.

    • Optional target: undefined | object

      Callback callee.

    Returns boolean

init

isPaused

  • isPaused(): boolean

isPersistRootNode

  • isPersistRootNode(node: { _persistNode: any }): boolean
  • 检查节点是否是常驻根节点。

    Parameters

    • node: { _persistNode: any }

      The node to be checked

      • _persistNode: any

    Returns boolean

off

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

    example

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

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type being removed.

    • Optional callback: TFunction

      The callback to remove.

    • Optional thisArg: any

    Returns void

on

  • on(type: string, callback: Function, target?: undefined | object, once?: undefined | false | true): 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

      The target (this object) to invoke the callback, can be null

    • Optional once: undefined | false | true

      After the first invocation, whether the callback should be unregistered.

    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

      The target (this object) to invoke the callback, can be null

    Returns void

pause

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

    Returns void

removeAll

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

    Parameters

    • typeOrTarget: string | object

      The event type or target with which the listeners will be removed

    Returns void

removePersistRootNode

  • removePersistRootNode(node: { _persistNode: boolean; uuid: string }): void
  • 取消常驻根节点。

    Parameters

    • node: { _persistNode: boolean; uuid: string }

      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(onStart: Function | null, legacyOnStart?: Function | null): void
  • 运行游戏,并且指定引擎配置和 onStart 的回调。

    Parameters

    • onStart: Function | null

      function to be executed after game initialized

    • Optional legacyOnStart: Function | null

    Returns void

setFrameRate

  • setFrameRate(frameRate: number): void

step

  • step(): void

targetOff

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

    Parameters

    • typeOrTarget: string | object

      The target to be searched for all related listeners

    Returns void

Generated using TypeDoc