【问题标题】:How can I let music play over several scenes without the music restarting every scene?我怎样才能让音乐在几个场景中播放而不让音乐重新开始每个场景?
【发布时间】:2021-02-01 20:54:32
【问题描述】:

我对 Unity 和 C# 非常陌生,但我的音频有问题。每次我加载场景时,音乐都会从头开始播放。如何让音乐在不重新开始的情况下播放多个场景?(抱歉英语不好) 我正在使用的代码是一个简单的代码,用于通过滑块调整音乐音量并在多个场景中保存音量。 我用的是unity 2018.3.14f1版本。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;

public class Volumemultiplelevel : MonoBehaviour
{
    public AudioMixer mixer;


    void Start()
    {
        SetLevel(PlayerPrefs.GetFloat("MusicVol"));
    }

    public void SetLevel(float sliderValue)
    {
        PlayerPrefs.SetFloat("MusicVol", sliderValue);
        mixer.SetFloat("MusicVol", Mathf.Log10(sliderValue) * 20);
    }
}

【问题讨论】:

    标签: c# unity3d audio


    【解决方案1】:

    您可以使用脚本和音频源创建新的游戏对象。 该脚本必须检查它是否尚未播放(您可以使用一些静态布尔值来做到这一点)并播放。

    这将使您的游戏对象(带有音频源)不会被删除DontDestroyOnLoad(musicPlayer)

    将游戏对象放在开始(菜单)场景中

    【讨论】:

      猜你喜欢
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多