StateManager
# StateManager
状态管理对象
状态管理器负责加载、设置和切换游戏状态。
构造函数
# 属性
# 方法
# add()
game.add()
将新状态添加到 StateManager 中。您必须给每个状态一个唯一的密钥,以便识别它。State 可以是 Phaser.State 对象(或扩展它的对象)、纯 JavaScript 对象或函数。如果给定了一个函数,将通过调用它来创建一个新的状态对象。
add(key, state, autoStart);
参数
key 【string】必选参数
- 用于引用此状态的唯一键,即“MainMenu”、“Level1”。
state 【 Phaser.State | object | function】必选参数
- 要切换到的状态
autoStart 【boolean】可选参数,默认 false
- 如果为真,状态将在添加后立即启动
# start()
game.start()
启动给定的状态。如果一个状态已经在运行,那么在切换到新状态之前将调用 State.shutDown(如果它存在)。
start(key, clearWorld, clearCache, parameter);
参数
key 【string】
- 要启动的状态的键
clearWorld 【boolean】默认 true
- 清除世界上的一切?这会完全清除世界显示列表(但不会清除舞台,因此如果您已将自己的对象添加到舞台,它们将需要直接管理)
clearCache 【boolean】默认 false
- 清除游戏缓存?这将清除所有加载的资产。默认值为 false,如果您也想清除缓存,则必须设置 clearWorld=true。
parameter 【*】
- 将传递给 State.init 函数的附加参数(如果有的话)。
# 示例
init()
preload() 加载游戏资源
create 创建游戏显示对象或注册资源
update()
render()
// 五个函数的执行顺序,从上到下
function state() {
this.init = function () {};
this.preload = function () {};
this.create = function () {};
this.update = function () {};
this.render = function () {};
}
//------------------管理场景-----------------
// 添加场景
game.state.add("state", state);
// 启动场景
game.state.start("state");
// 当某个资源加载完成时触发
// game.load.onFileComplete.add(function(){})
// game.load.process 表示所有资源的加载进度,百分制
// 当所有资源加载完成时触发
// game.load.onLoadComplete.add(function(){})