Unity游戏开发中,点击按钮切换场景,按钮音效时有时无

问题遇到的现象和发生背景

Unity游戏开发,在一个游戏场景中添加一个按钮,希望点击按钮播放按钮音效,然后切换到另一个游戏场景。

img

相关代码
    // 切换场景脚本,挂载在用作切换场景的按钮上
    public string sceneName;  // 目标场景名
    void Start()
    {
        GetComponent<Button>().onClick.AddListener(()=>ChangeSceneFuntion(sceneName));
    }

    public void ChangeSceneFuntion(string sceneName){
        SceneManager.LoadScene(sceneName);
    }
运行结果及报错内容

点击按钮切换场景,按钮音效的有时播放,有时不播放

我的解答思路和尝试过的方法

猜测声音未来得及播放就已经切换到目标场景,但不知道如何解决,若能解答,十分感谢

楼上说的方案没什么问题,具体步骤推荐如下:

  1. 创建脚本如下:
/// <summary>
/// 加载时不销毁的对象
/// </summary>
public class DontDestroy : MonoBehaviour
{
    private void Awake()
    {
        DontDestroyOnLoad(gameObject);
    }    
}
  1. 将其挂载到一个物体上,这个物体和其子物体用于挂载切换场景时播放的音效,图一的AudioSource组件
  2. 移除图一的AudioSource组件,并为按钮监听赋值(图一Play那个方法)

DontDestroyOnLoad(gameObject);//这代码就是把你想要的物体保存到下一个场景

弄个协程,或者弄个计时器,等他按钮用来判断先后顺序

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632