SceneManager

.Scenes. SceneManager

场景经理. 场景管理器是一个游戏级系统,负责创建,处理和更新所有的 游戏实例中的场景. 您通常根本不应该直接与场景管理器交互.相反,您应该使用 场景插件,可以从你的游戏中的每一个场景通过属性获得. 直接使用场景管理器中的方法会中断排队操作,并可能导致运行时 错误.相反,通过场景插件.该场景管理器提供的每个功能还 可通过场景插件获得.

Constructor

new SceneManager(game, sceneConfig)

Since:
  • 3.0.0
Parameters:
Name Type Description
game Phaser.Game 相位器.场景管理器所属的游戏实例.
sceneConfig object 场景特定的配置设置.

Members

customViewports :number

Since:
  • 3.12.0
Default Value:
  • 0
任何场景中的摄像机是否需要自定义视口? 如果没有,我们可以跳过剪刀测试.
Type:
  • number

game :Phaser.Game

Since:
  • 3.0.0
这个场景管理员所属的游戏.
Type:

(readonly) isBooted :boolean

Since:
  • 3.4.0
Default Value:
  • false
场景管理器启动是否正常?
Type:
  • boolean

(readonly) isProcessing :boolean

Since:
  • 3.0.0
Default Value:
  • false
场景管理器是否正在处理场景列表?
Type:
  • boolean

keys :Record.<string, Phaser.Scene>

Since:
  • 3.0.0
一个将关键点映射到场景的对象,这样我们就可以从关键点快速获得场景,而无需迭代.
Type:

scenes :Array.<Phaser.Scene>

Since:
  • 3.0.0
保存所有场景的数组.
Type:

Methods

add(key, sceneConfig, autoStartopt, dataopt) → (nullable) {Phaser.Scene}

Since:
  • 3.0.0
将新场景添加到场景管理器中. 你必须给每一个场景一个唯一的钥匙,通过它你可以识别它. `sceneConfig` 可以是: *一个 `Phaser.Scene` 对象,或者一个扩展它的对象. *一个普通的JavaScript对象 *一个扩展 `Phaser.Scene` 的JavaScript ES6类 *一个基于JavaScript ES5原型的类 *一个JavaScript函数 如果给定一个函数,那么通过调用它将创建一个新的场景.
Parameters:
Name Type Attributes Default Description
key string 用于引用场景的唯一键,即. `MainMenu` 或 `LEVEL1` .
sceneConfig Phaser.Scene | Phaser.Types.Scenes.SettingsConfig | Phaser.Types.Scenes.CreateSceneFromObjectConfig | function 场景的配置
autoStart boolean <optional>
false 如果 `true` ,场景将在添加后立即启动.
data object <optional>
可选数据对象.这将被设置为 `z scene.settings.data` 并传递给 `z scene.init` 和 `z scene.create` .
Returns:
添加的场景,如果它是立即添加的,否则为 `null` .
Type
Phaser.Scene

bringToTop(key) → {this}

Since:
  • 3.0.0
将场景置于场景列表的顶部. 这意味着它将渲染高于所有其他场景.
Parameters:
Name Type Description
key string | Phaser.Scene 场景移动.
Returns:
此场景管理器实例.
Type
this

destroy()

Since:
  • 3.0.0
摧毁这个场景管理器及其所有系统. 这个过程不能逆转. 当相位器游戏实例被破坏时,这个方法被自动调用.

dump()

Since:
  • 3.2.0
将每个场景的调试信息转储到开发人员控制台.

getAt(index) → {Phaser.Scene|undefined}

Since:
  • 3.0.0
通过数字索引检索场景.
Parameters:
Name Type Description
index number 要检索的场景的索引.
Returns:
场景.
Type
Phaser.Scene | undefined

getIndex(key) → {number}

Since:
  • 3.0.0
检索场景的数字索引.
Parameters:
Name Type Description
key string | Phaser.Scene 场景的关键.
Returns:
场景的索引.
Type
number

getScene(key) → (nullable) {Phaser.Scene}

Since:
  • 3.0.0
检索场景.
Parameters:
Name Type Description
key string | Phaser.Scene 要检索的场景.
Returns:
场景.
Type
Phaser.Scene

getScenes(isActiveopt, inReverseopt) → {Array.<Phaser.Scene>}

Since:
  • 3.16.0
返回由该场景管理器管理的所有当前场景的数组. 您可以根据场景的活动状态过滤输出,并选择 数组以正常或相反的顺序返回.
Parameters:
Name Type Attributes Default Description
isActive boolean <optional>
true 仅包括当前活动的场景?
inReverse boolean <optional>
false 反向返回场景数组?
Returns:
包含场景管理器中所有场景的数组.
Type
Array.<Phaser.Scene>

isActive(key) → {boolean}

Since:
  • 3.0.0
确定场景是否正在运行.
Parameters:
Name Type Description
key string | Phaser.Scene 要检查的场景.
Returns:
场景是否正在运行,如果没有找到匹配的场景,则为 `null` .
Type
boolean

isPaused(key) → {boolean}

Since:
  • 3.17.0
确定场景是否暂停.
Parameters:
Name Type Description
key string | Phaser.Scene 要检查的场景.
Returns:
场景是否暂停,如果没有找到匹配的场景,则为 `null` .
Type
boolean

isSleeping(key) → {boolean}

Since:
  • 3.0.0
确定场景是否正在睡眠.
Parameters:
Name Type Description
key string | Phaser.Scene 要检查的场景.
Returns:
场景是否正在休眠,如果没有找到匹配的场景,则为 `null` .
Type
boolean

isVisible(key) → {boolean}

Since:
  • 3.0.0
确定场景是否可见.
Parameters:
Name Type Description
key string | Phaser.Scene 要检查的场景.
Returns:
场景是否可见,如果没有找到匹配的场景,则为 `null` .
Type
boolean

moveAbove(keyA, keyB) → {this}

Since:
  • 3.2.0
移动场景,使其位于场景列表中另一个场景的正上方. 这意味着它将在另一个场景的顶部渲染.
Parameters:
Name Type Description
keyA string | Phaser.Scene 场景B将被移到上面的场景.
keyB string | Phaser.Scene 要移动的场景.
Returns:
此场景管理器实例.
Type
this

moveBelow(keyA, keyB) → {this}

Since:
  • 3.2.0
移动场景,使其位于场景列表中另一个场景的正下方. 这意味着它将在另一个场景后面渲染.
Parameters:
Name Type Description
keyA string | Phaser.Scene 场景B将被移到上面的场景.
keyB string | Phaser.Scene 要移动的场景.
Returns:
此场景管理器实例.
Type
this

moveDown(key) → {this}

Since:
  • 3.0.0
将场景在场景列表中下移一个位置.
Parameters:
Name Type Description
key string | Phaser.Scene 场景移动.
Returns:
此场景管理器实例.
Type
this

moveUp(key) → {this}

Since:
  • 3.0.0
将场景在场景列表中上移一个位置.
Parameters:
Name Type Description
key string | Phaser.Scene 场景移动.
Returns:
此场景管理器实例.
Type
this

pause(key, dataopt) → {this}

Since:
  • 3.0.0
暂停给定的场景.
Parameters:
Name Type Attributes Description
key string | Phaser.Scene 场景暂停.
data object <optional>
一个可选的数据对象,将被传递到场景并由其暂停事件发出.
Returns:
此场景管理器实例.
Type
this

processQueue()

Since:
  • 3.0.0
处理场景操作队列.

remove(key) → {this}

Since:
  • 3.2.0
从场景管理器中移除场景. 场景从本地场景数组中移除,其关键点从关键点中清除 缓存和场景.然后调用Systems.destroy. 如果场景管理器在调用此方法时正在处理场景,它将 将下一个更新序列的操作排队.
Parameters:
Name Type Description
key string 用于引用场景的唯一键,即. `MainMenu` 或 `LEVEL1` .
Returns:
此场景管理器实例.
Type
this

render(renderer)

Since:
  • 3.0.0
渲染场景.
Parameters:
Name Type Description
renderer Phaser.Renderer.Canvas.CanvasRenderer | Phaser.Renderer.WebGL.WebGLRenderer 要使用的渲染器.

resume(key, dataopt) → {this}

Since:
  • 3.0.0
恢复给定场景.
Parameters:
Name Type Attributes Description
key string | Phaser.Scene 场景恢复.
data object <optional>
一个可选的数据对象,将被传递到场景并由其恢复事件发出.
Returns:
此场景管理器实例.
Type
this

run(key, dataopt) → {this}

Since:
  • 3.10.0
运行给定的场景. 如果给定场景暂停,它将恢复它.如果睡觉,它会吵醒它. 如果根本不运行,就会启动. 如果你想打开一个模态场景,就使用这个 场景,然后在模态场景上 `run` .
Parameters:
Name Type Attributes Description
key string | Phaser.Scene 要运行的场景.
data object <optional>
在启动,唤醒或恢复时将被传递到场景的数据对象.
Returns:
此场景管理器实例.
Type
this

sendToBack(key) → {this}

Since:
  • 3.0.0
将场景发送到场景列表的后面. 这意味着它将在所有其他场景下渲染.
Parameters:
Name Type Description
key string | Phaser.Scene 场景移动.
Returns:
此场景管理器实例.
Type
this

sleep(key, dataopt) → {this}

Since:
  • 3.0.0
让给定场景进入睡眠状态.
Parameters:
Name Type Attributes Description</