我需要停止一个音频片段,该音频片段将从附有脚本的空gameobject
播放。
附加的脚本将播放音乐,另一个gameobject
附加的脚本将停止播放。
我该如何做到这一点?
我可以改用音频源,但是如果我这样做了,我如何从附加到第二个audio.stop()
的第二个脚本中调用gameobject
?
答案 0 :(得分:1)
您需要做的就是从GameObject B访问GameObject 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();
}
}