在场景中创建一个空物体对象,然后将代码挂载到空物体
需要注意的是,场景中需要有以下组件
一般在主摄像头里
添加到代码挂载的空物体上
将场景中类的公开变量 signInBGM,xinShouCun赋值即可调用,不要忘了挂脚本到物体上
PlayBGM()类,需要传参string类型的场景名称,在场景加载或者切换的位置调用
AudioManager 类
1 1 using System.Collections; 2 2 using System.Collections.Generic; 3 3 using UnityEngine; 4 5 5 6 //音乐管理类 6 7 public class AudioManager : MonoBehaviour 7 8 { 8 9 [Header("BGM音乐源")] 9 10 public AudioSource audioSource; 10 11 11 12 [Header("BGM")] 12 13 public AudioClip signInBGM; 13 14 public AudioClip xinShouCun; 14 15 15 16 void Awake() { 16 17 DontDestroyOnLoad(this); 17 18 } 18 19 19 20 private void Start() { 20 21 audioSource = GetComponent<AudioSource>(); 21 22 audioSource.clip = signInBGM; 22 23 audioSource.Play(); 23 26 } 24 27 25 28 //播放BGM,根据参数场景名称判断 26 29 public void PlayBGM(string sceneName){ 27 30 Debug.Log("进入播放音乐方法 + " + sceneName); 28 31 switch(sceneName){ 29 32 case "登陆界面": 30 33 audioSource.clip = signInBGM; 31 34 audioSource.Play(); 32 35 break; 33 36 case "新手村": 34 37 audioSource.clip = xinShouCun; 35 38 audioSource.Play(); 36 39 break; 37 40 default: 38 41 break; 39 42 } 40 43 } 41 45 }
标签:sceneName,场景,audioSource,BGM,signInBGM,unity,public,加载 From: https://www.cnblogs.com/alanshreck/p/16892234.html