我正在使用Unity进行游戏,现在我想在弹丸击中物体时实现声音效果。不知何故没有声音在播放。这是代码:
AudioSource sound;
void Start()
{
...
sound = GetComponent<AudioSource>();
...
}
void Destroy()
{
sound.Play();
}
答案 0 :(得分:0)
您尚未显示是否调用Destroy()函数。请在您的Destroy()函数内添加一个Debug.Log("Called")
并对其进行测试。如果被调用,则可能与系统的音量有关,或者音频组件处于静音状态。请检查这些初始内容。
如果未调用,则了解GetComponents之间的区别。
将脚本附加到包含AudioComponent的游戏对象时,请按照以下方式编写:
private AudioSource sound;
void Start()
{
sound = GetComponent<AudioSource>();
sound.Play();
}
当您将脚本附加到另一个gameObject并想将Audio gameObject引用到此脚本时,请按以下方式编写:
public AudioSource sound;
void Start()
{
sound.GetComponent<AudioSource>(); //this is optional
sound.Play();
}
别忘了在第二个解决方案中将其添加为参考(拖放音频组件的GameObject)。