Game

Game

相位器.游戏实例是整个相位器游戏的主要控制器.它是负责任的 用于处理引导过程,解析配置值,创建渲染器, 和设置所有的全球相位系统,如声音和输入. 一旦完成,它将启动场景管理器,然后开始主游戏循环. 您通常应该避免访问游戏创建的任何系统,而是使用它们 通过相位器提供给你.场景系统类.

Constructor

new Game(GameConfigopt)

Since:
  • 3.0.0
Parameters:
Name Type Attributes Description
GameConfig Phaser.Types.Core.GameConfig <optional>
相位器游戏实例的配置对象.
Fires:

Members

anims :Phaser.Animations.AnimationManager

Since:
  • 3.0.0
动画管理器的一个实例. 动画管理器是一个全球系统,负责管理游戏中使用的所有动画.
Type:

cache :Phaser.Cache.CacheManager

Since:
  • 3.0.0
缓存管理器的一个实例. 缓存管理器是一个全球系统,负责缓存,访问和释放外部游戏资产.
Type:

canvas :HTMLCanvasElement

Since:
  • 3.0.0
Phaser用来渲染游戏的HTML画布元素的引用. 这是由Phaser自动创建的,除非你提供一个`属性` 在你的游戏配置中.
Type:
  • HTMLCanvasElement

(readonly) config :Phaser.Core.Config

Since:
  • 3.0.0
已解析的游戏配置对象. 存储在此对象中的值是只读的,不应在运行时更改.
Type:

context :CanvasRenderingContext2D|WebGLRenderingContext

Since:
  • 3.0.0
一个属于这个游戏渲染到的画布元素的渲染上下文的引用. 如果游戏在画布下运行,它将是一个2d画布渲染上下文. 如果游戏运行在网络游戏语言下,它将是一个网络游戏语言渲染上下文. 除非您提供一个 `context` 属性,否则此上下文由Phaser自动创建 在你的游戏配置中.
Type:
  • CanvasRenderingContext2D | WebGLRenderingContext

device

Since:
  • 3.0.0
对设备检查器的引用. 包含有关运行此游戏的设备的信息,如操作系统,浏览器供应商和功能支持. 由各种系统用来确定功能和代码路径.

domContainer :HTMLDivElement

Since:
  • 3.17.0
对一个被用作文档元素容器的HTML Div元素的引用. 仅当游戏配置中的 `createDOMContainer` 为 `true` 时设置(默认为 `false` ),并且 如果你提供一个父元素来插入相位器游戏. 更多细节见游戏对象.
Type:
  • HTMLDivElement

events :Phaser.Events.EventEmitter

Since:
  • 3.0.0
事件发射器,用于从全球系统广播游戏级别的事件.
Type:

facebook :Phaser.FacebookInstantGamesPlugin

Since:
  • 3.13.0
脸书即时游戏插件的一个例子. 这将只有在插件已经内置到Phaser中时才可用, 或者您正在使用特殊的脸书即时游戏定制版本.
Type:
  • Phaser.FacebookInstantGamesPlugin

(readonly) hasFocus :boolean

Since:
  • 3.9.0
游戏当前运行的窗口是否有焦点? 这由可见性处理程序修改.
Type:
  • boolean

input :Phaser.Input.InputManager

Since:
  • 3.0.0
输入管理器的一个实例. 输入管理器是一个负责捕获浏览器级输入事件的全球系统.
Type:

(readonly) isBooted :boolean

Since:
  • 3.0.0
指示此游戏实例何时完成其引导过程的标志.
Type:
  • boolean

(readonly) isRunning :boolean

Since:
  • 3.0.0
指示此游戏当前是否正在运行其游戏步骤的标志.
Type:
  • boolean

loop :Phaser.Core.TimeStep

Since:
  • 3.0.0
时间步长的一个实例. 时间步是一个全球系统,负责设置和响应浏览器框架事件,处理 并计算差值.然后它会自动调用游戏步骤.
Type:

plugins :Phaser.Plugins.PluginManager

Since:
  • 3.0.0
插件管理器的一个实例. 插件管理器是一个全球系统,允许插件向它注册,然后可以安装 根据需要将这些插件插入场景.
Type:

registry :Phaser.Data.DataManager

Since:
  • 3.0.0
数据管理器的一个实例
Type:

renderer :Phaser.Renderer.Canvas.CanvasRenderer|Phaser.Renderer.WebGL.WebGLRenderer

Since:
  • 3.0.0
此游戏使用的画布或网络图形渲染程序的参考.
Type:

scale :Phaser.Scale.ScaleManager

Since:
  • 3.16.0
比例管理器的一个实例. 缩放管理器是一个全球系统,负责处理游戏画布的缩放.
Type:

scene :Phaser.Scenes.SceneManager

Since:
  • 3.0.0
场景管理器的一个实例. 场景管理器是一个全球系统,负责创建,修改和更新游戏中的场景.
Type:

sound

Since:
  • 3.0.0
基本声音管理器的实例. 声音管理器是一个全球系统,负责播放和更新游戏中的所有音频. 您可以通过切换网络包 `FEATURE_SOUND` 标志来禁用声音管理器在您的构建中的包含.

textures :Phaser.Textures.TextureManager

Since:
  • 3.0.0
纹理管理器的一个实例. 纹理管理器是一个全球系统,负责管理游戏中使用的所有纹理.
Type:

Methods

(protected) boot()

Since:
  • 3.0.0
当DOM准备好时,会自动调用此方法.它负责创建渲染器, 显示调试标题,将游戏画布添加到DOM中,并发出 `boot` 事件. 它监听来自基本系统的 `ready` 事件,一旦收到,它将调用 `Game.start` .
Fires:
Listens to Events:

destroy(removeCanvas, noReturnopt)

Since:
  • 3.0.0
将此游戏实例标记为需要在下一帧销毁,使其成为异步操作. 它将等到当前帧完成,然后在内部调用 `runDestroy` . 如果你需要对游戏的最终毁灭作出反应,那就听听`毁灭之旅`事件. 如果你**不* *需要再次运行Phaser在同一个网页上,你可以设置 `noReturn` 参数为 `true` ,它将免费 核心相位插件持有的内存.如果你需要在同一个页面上创建另一个游戏实例,把它保留为 `false` .
Parameters:
Name Type Attributes Default Description
removeCanvas boolean 如果您希望从DOM中移除父画布元素,请将其设置为 `true` ,或者设置为 `false` .
noReturn boolean <optional>
false 如果 `true` 所有核心相位器插件都被销毁.如果您这样做,您不能在同一网页上创建另一个相位器实例.
Fires:

getFrame() → {number}

Since:
  • 3.16.0
返回当前游戏画面. 当游戏开始运行时,每次触发请求动画帧或设置超时时,帧都会递增.
Returns:
当前游戏框架.
Type
number

getTime() → {number}

Since:
  • 3.16.0
根据 `performance.now` 返回当前游戏步骤开始的时间.
Returns:
当前游戏时间戳.
Type
number

headlessStep(time, delta)

Since:
  • 3.2.0
游戏步骤的特殊版本,仅适用于无头渲染器. 主要的游戏步骤.由时间步长自动调用,每个浏览器帧调用一次(通常是由于 请求动画帧,或在非常旧的浏览器上设置超时. 该步骤将首先更新全局管理器,然后通过场景管理器依次更新每个场景. 这个过程会发出 `prerender` 和 `postrender` 事件,即使实际上没有显示任何内容.
Parameters:
Name Type Description
time number 当前时间.如果来自请求动画帧,则为高分辨率计时器值,如果使用设置时间输出,则为日期.
delta number 自上一帧以来的增量时间(毫秒).这是一个基于FPS速率的平滑且有上限的值.
Fires:
  • Phaser.Game#event:PRE_RENDER
  • Phaser.Game#event:POST_RENDER

(protected) onBlur()

Since:
  • 3.0.0
由可见性处理程序自动调用. 这会将主循环设置为 `blurred` 状态,这会暂停它.

(protected) onFocus()

Since:
  • 3.0.0
由可见性处理程序自动调用. 这会将主循环设置为 `focused` 状态,然后重新开始.

(protected) onHidden()

Since:
  • 3.0.0
由可见性处理程序自动调用. 这将暂停主循环,然后发出暂停事件.
Fires:

(protected) onVisible()

Since:
  • 3.0.0
由可见性处理程序自动调用. 这将恢复主循环,然后发出恢复事件.
Fires:

(protected) start()

Since:
  • 3.0.0
一旦所有的全局系统都完成了自己的设置,由Game.boot自动调用. 至此,游戏准备开始主循环运行. 它还将启用可见性处理程序.

step(time, delta)

Since:
  • 3.0.0
主要的游戏步骤.由时间步长自动调用,每个浏览器帧调用一次(通常是由于 请求动画帧,或在非常旧的浏览器上设置超时. 该步骤将首先更新全局管理器,然后通过场景管理器依次更新每个场景. 然后,它将通过渲染器依次渲染每个场景.此进程发出 `prerender` 和 `postrender` 事件.
Parameters:
Name Type Description
time number 当前时间.如果来自请求动画帧,则为高分辨率计时器值,如果使用设置时间输出,则为日期.
delta number 自上一帧以来的增量时间(毫秒).这是一个基于FPS速率的平滑且有上限的值.
Fires: