【发布时间】:2019-07-21 23:58:38
【问题描述】:
我的“菜单”场景中有一个带有音频源的对象,并且附加了一个脚本,以便在场景之间保持播放而无需重置。我想使用选项场景上的按钮将音频静音/取消静音,并在可能的情况下为每次启动应用程序保存此设置以用于后续步骤。
我通过在对象上附加脚本使音频继续播放。这是在场景中继续播放音乐的代码。
public class dontStopAudio : MonoBehaviour {
void Awake()
{
GameObject[] objs = GameObject.FindGameObjectsWithTag("BGAudio");
if (objs.Length > 1)
Destroy(this.gameObject);
DontDestroyOnLoad(this.gameObject);
}
}
我尝试创建一个脚本来打开和关闭背景音乐并调用音乐游戏对象以获取静音组件并更改它的值,但似乎没有用。我还尝试使用 if 和 if else 创建一个控制函数来比较音频源组件的静音属性的值,但我无法以任何方式更改它。
这就是我尝试这样做的方式,但我确信它存在严重错误。只是不知道是什么,因为我是一个统一的初学者,只是想通过小项目扩展我的知识。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class toggleMusic : MonoBehaviour {
public GameObject bgMusic;
public AudioSource bgAudio;
public GameObject toggleMusicButton;
public Sprite soundON, soundOFF;
public void bgMusicOnOff()
{
bgAudio = bgMusic.GetComponent<AudioSource>();
if (bgAudio.mute = false) {
bgAudio.mute = true;
toggleMusicButton.GetComponent<Image>().sprite = soundOFF;
}
else if (bgAudio.mute = true) {
bgAudio.mute = false;
toggleMusicButton.GetComponent<Image>().sprite = soundOFF;
}
}
}
我也尝试在按钮的 OnClick() 面板上调用该方法,但似乎效果不佳。
我希望能够从“选项”场景中使用按钮,在我成功完成后,我可能会在每次用户启动应用程序时保存设置。
非常感谢您提前抽出时间,我知道有些事情我没有考虑,但由于我对 Unity 缺乏知识/经验,我看不到是什么
【问题讨论】:
标签: unity3d audio background toggle