创建事件时必须定义每个 Action 的 Scope。Scope 会指定 Action 在游戏对象中作用的范围。Scope 会指定 Action 在游戏对象中作用的范围。对于某些 Action,您可以选择 Scope;对于其它 Action,Scope 是预先定义好的。
例如,假定您为玩家离开游戏进入菜单这种情况创建了一个事件。此事件将播放“Enter_Menu” 声音、暂停玩家相关的所有声音,并且将 State 设置为“Menu”。接下来,“Menu”State 的设置会让 Master Audio Bus 的音量降低 20 dB,但会将“Music”Audio Bus 的音量增加 20 dB。
这些事件中各个事件的范围如下所示:
事件动作类型 |
Scope(作用域) |
备注 |
|||
---|---|---|---|---|---|
Play > Menu_Enter |
Game Object |
由于 Play Event 总是由一个游戏对象触发,作用域会设置为 Game Object。 |
|||
Pause All |
Global 或 Game Object |
在该场景中,玩家角色即为调用 Event 的 Game Object。暂停玩家相关的声音,可以让您在阅读菜单时不受干扰。因此,虽然可以将 Scope 设置为 Global,但在这种情况下,使用 Game Object 范畴将允许玩家仍然听到游戏中的其它声音。 |
|||
Set State > Menu |
Global |
Set State 的作用域始终为 Global,原因是工程中所有使用该 State 的地方都会响应状态变化。在该场景中,我们在 Master Audio Bus 和“Music”Audio Bus 中为“Menu”State 进行了设置,让前者音量降低,后者音量增加。
|
定义事件的作用域的方法如下:
从 Scope 列表中,选择以下选项之一:
Game object,将事件动作作用于触发事件的游戏对象。
Global,将事件动作作用于所有游戏对象。