C# 如何统一播放来自一个游戏对象的多个音频源
因此,我已经提出了问题,程序知道问题何时得到正确回答。我希望它在正确回答问题时播放一个声音,在错误回答问题时播放另一个声音。我有一个名为Managers的游戏对象,它管理所有UI元素。但是,当我得到一个正确的问题时,它会播放错误的音乐片段,当我得到一个错误的答案时,它也会播放错误的音乐片段。代码如下:C# 如何统一播放来自一个游戏对象的多个音频源,c#,unity3d,audio,C#,Unity3d,Audio,因此,我已经提出了问题,程序知道问题何时得到正确回答。我希望它在正确回答问题时播放一个声音,在错误回答问题时播放另一个声音。我有一个名为Managers的游戏对象,它管理所有UI元素。但是,当我得到一个正确的问题时,它会播放错误的音乐片段,当我得到一个错误的答案时,它也会播放错误的音乐片段。代码如下: void Start() { MusicSource.clip = MusicClip; MusicSource_2.clip = MusicClip_2;
void Start()
{
MusicSource.clip = MusicClip;
MusicSource_2.clip = MusicClip_2;
}
public AudioSource MusicSource;
public AudioClip MusicClip;
public AudioSource MusicSource_2;
public AudioClip MusicClip_2;
void UpdateResolutionUI(ResolutionScreenType type, int score)
{
var highscore = PlayerPrefs.GetInt(GameUtility.savePrefKey);
switch (type)
{
case ResolutionScreenType.Correct:
uIElements.ResolutionBG.color = parameters.CorrectBGColour;
uIElements.ResolutionStateInfoText.text = "Correct!";
uIElements.ResolutionScoreText.text = "+" + score;
MusicSource.Play();
break;
case ResolutionScreenType.Incorrect:
uIElements.ResolutionBG.color = parameters.IncorrectBGColour;
uIElements.ResolutionStateInfoText.text = "Incorrect!";
uIElements.ResolutionScoreText.text = "-" + score;
MusicSource_2.Play();
break;
}
你是不是碰巧换了个听筒?@Johnny你是说在《联合检察官》里?因为我这样做了,它所做的只是在两种情况下播放另一个音乐剪辑(正确和不正确)。与其只使用一个
音频源
,并且使用代码中没有错误,只需确保正确的选项不会被错误的选项覆盖。正如derHugo提到的,您只能使用一个音频源使用PlayOneShot,同时确保停止
您不想再播放的另一个音频源