跨固定关卡(Persistent Level)播放音频的方法

如何跨关卡播放音频

用虚幻引擎制作游戏时,可以使用Game Instance类和SpawnSound2D函数实现跨固定关卡(Persistent Level)播放声音。
跨关卡播放音频的具体步骤如下。
  1. 创建GameInstance蓝图类。(示例中创建了名为AtomParameterInstance的GameInstance蓝图类。已经创建了其他GameInstance蓝图类时可跳过此步骤。)
    criware_ue4_035_PALTS_create_blueprint_class.png
  2. 创建的GameInstance蓝图类设置为[项目设置]→[地图与模式]的Game Instance Class。(已经设置时可跳过此步骤)
    criware_ue4_035_PALTS_project_settings.png
  3. 打开GameInstance蓝图类,将AtomComponent对象创建为变量。
  4. 在Level蓝图编辑器中,启用Persist Across Level Transition,创建Atom类别中的SpawnSound2D。
    criware_ue4_035_PALTS_level_blueprint.png
  5. 用SpawnSound2D的ReturnValue输出AtomComponent,连接节点将其设置为创建的GameInstance的AtomComponent。
  6. 运行游戏并播放音频,切换关卡时播放声音将继续而不会中断。
注意
可采用以下两种方法来播放多个音频,一种方法是使用存储在GameInstance的AtomComponent播放音频,另一种方法是多次调用SpawnSound2d。
请注意,多次调用SpawnSound2d的方法在播放了循环音频的状态跨关卡时,如果不对创建的所有组件进行管理,切换到下一关卡后将无法执行停止音频等控制。
采取以上步骤后,可以跨关卡播放音频。