ScenePlugin

.Plugins. ScenePlugin

场景级插件安装在每个场景中,并且属于该场景. 它可以监听场景事件并做出响应. 它可以将其自身映射到场景属性,或者映射到场景系统,或者两者都映射.

Constructor

new ScenePlugin(scene, pluginManager, pluginKey)

Since:
  • 3.8.0
Parameters:
Name Type Description
scene Phaser.Scene 对已安装此插件的场景的引用.
pluginManager Phaser.Plugins.PluginManager 插件管理器的参考.
pluginKey string 这个插件被安装到场景系统的键.

Extends

Members

(protected) game :Phaser.Game

Since:
  • 3.8.0
Inherited From:
这个插件运行的游戏实例的参考.
Type:

(readonly) pluginKey :string

Since:
  • 3.54.0
这个插件被安装到场景系统的键. 此属性仅在插件被实例化并添加到场景时设置,而不是之前. 您可以在 `boot` 方法中使用它.
Type:
  • string

(protected) pluginManager :Phaser.Plugins.PluginManager

Since:
  • 3.8.0
Inherited From:
负责这个插件的插件管理器的便利参考. 可用作访问游戏系统和事件的途径.
Type:

(protected, nullable) scene :Phaser.Scene

Since:
  • 3.8.0
对已安装此插件的场景的引用. 只有当它是一个场景插件时才设置,否则为`零`. 此属性仅在插件被实例化并添加到场景时设置,而不是之前. 您可以在 `boot` 方法中使用它.
Type:

(protected, nullable) systems :Phaser.Scenes.Systems

Since:
  • 3.8.0
场景系统的参考已经安装了这个插件. 只有当它是一个场景插件时才设置,否则为`零`. 此属性仅在插件被实例化并添加到场景时设置,而不是之前. 您可以在 `boot` 方法中使用它.
Type:

Methods

boot()

Since:
  • 3.8.0
场景启动时调用此方法.它只被调用过一次. 至此,插件属性 `scene` 和 `systems` 已经设置完毕. 在这里你可以收听Scene events并设置该插件运行所需的一切. 以下是你可以听到的场景事件: - start - ready - preupdate - update - postupdate - resize - pause - resume - sleep - wake - transitioninit - transitionstart - transitioncomplete - transitionout - shutdown - destroy 至少,当场景关闭时,您应该提供一个销毁处理程序,即:. ```javascript var eventEmitter = this.systems.events; eventEmitter.once('destroy', this.sceneDestroy, this); ```

destroy()

Since:
  • 3.8.0
Overrides:
游戏实例已被销毁. 你必须释放这里所有的东西,所有的引用,所有的对象,把它们都释放出来.

init(dataopt, nullable)

Since:
  • 3.8.0
Inherited From:
插件管理器在一个全局插件第一次实例化时调用这个方法. 它将永远不会在此实例上被再次调用. 在这里你可以设置这个插件运行所需的任何东西. 如果一个插件被设置为自动启动,那么在此之后将立即调用 `BasePlugin.start`. 在一个场景插件中,这个方法是不会被调用的.使用Phaser.Plugins.ScenePlugin#boot.
Parameters:
Name Type Attributes Description
data any <optional>
<nullable>
用户从插件配置对象的 `data` 属性中指定的值(如果在游戏启动时启动),或者在插件管理器的 `install` 方法中传递的值(如果手动启动).

start()

Since:
  • 3.8.0
Inherited From:
插件管理器在一个全局插件启动时调用这个方法. 如果一个插件被停止,然后再次启动,这将被再次调用. 通常在 `BasePlugin.init` 之后立即调用. 在一个场景插件中,这个方法是不会被调用的.

stop()

Since:
  • 3.8.0
Inherited From:
插件管理器在全局插件停止时调用这个方法. 游戏代码要求你的插件停止做它做的任何事情. 它现在被插件管理器认为是 `inactive` . 在这里处理该过程(即.停止监听事件等) 如果插件再次启动,那么将再次调用 `BasePlugin.start`. 在一个场景插件中,这个方法是不会被调用的.