一个简单的BGM功能,不同场景播放不同BGM

03/22314 浏览案例分享
功能说明:
服务端在切换场景后,发送自定义事件通知客户端
客户端在收到自定义事件后,根据当前场景播放对应的BGM
下面是我个人的实现方式,仅供参考
服务端方面
切换场景时触发
TapTap
发送自定义事件过程的一些函数
TapTap
TapTap
自定义事件
TapTap
客户端方面
触发自定义事件,收到事件后去调用播放BGM的函数
TapTap
下面是我客户端相关的具体实现,仅供参考
在客户端新建一个类,我这里叫音效管理
TapTap
然后再类下面新建一个变量,我这里叫当前BGM
因为我需要直接调用,所以设置成静态的,勾选显示详情设置,勾选Static(包括后面的函数也是)(请根据自己需求来)
然后类型选择表现
TapTap
新建一个函数,我这里叫播放BGM
作用是销毁旧的BGM,然后创建并播放新的BGM
有需要的话可以做缓存,那样就不用重复创建和销毁
TapTap
新建一个函数,我这里叫获取当前场景BGM
我这里是用switch根据当前场景返回对应的BGM配置(后面会说到这个配置)
这个当前场景是官方的函数:获取当前场景
TapTap
TapTap
新建一个函数,我这里叫播放当前场景BGM,就是我触发服务端自定义事件时候调用的函数
里面其实就是调用上面2个函数
TapTap
数编方面
首先在数编里面打开表现
TapTap
然后在表现的文件夹下面新建蓝图-音效表现节点(音乐)
TapTap
TapTap
选择音效素材配置对应的音效(我只用到官方提供的音效素材,不清楚如何导入自己的音效素材,需要用自己的音效素材请自行探索)
TapTap
下面这里是我自己用到的创建好的BGM配置,也是前面客户端用到的配置
TapTap
10
9