gpt4 book ai didi

c# - 从另一个脚本停止音频剪辑

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:34 26 4
gpt4 key购买 nike

我需要停止将从附加有脚本的空 gameobject 播放的音频片段。

附加的脚本将播放音乐,附加到另一个 gameobject 的另一个脚本将停止它。

我怎样才能做到这一点?

我可以改用音频源,但如果我这样做了,我如何从附加到第二个 gameobject 的第二个脚本调用 audio.stop()

最佳答案

您需要做的就是从游戏对象 B 访问游戏对象 A 中的脚本,并调用一个方法来停止播放剪辑。

例子

将 AudioPlayer.cs 附加到 GameObject A

public class AudioPlayer : Monobehaviour {

public static AudioSource instance;
private AudioSource audioSource;

void Awake () {
instance = this;
audioSource = GetComponent<AudioSource>();
}

public void PlayClip () {
//Assumption is that you've assigned the audio clip to this source in the inspector
audioSource.Play();
}

public void StopClip () {
audioSource.Stop();
}

}

将 AudioController.cs 附加到 GameObject B

public class AudioController : Monobehaviour {

void OnGUI () {
if(GUI.Button(new Rect(10, 10, 150, 50), "Play Clip"))
AudioPlayer.instance.PlayClip();

if(GUI.Button(new Rect(10, 70, 150, 50), "Stop Clip"))
AudioPlayer.instance.StopClip();
}
}

关于c# - 从另一个脚本停止音频剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31928610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com