當(dāng)我的球?qū)ο髶糁性撃_本所附加的靜態(tài)對(duì)象時(shí),我想隨機(jī)播放一定數(shù)量的聲音中的 1 個(gè)。一旦球擊中物體,物體就會(huì)被摧毀,從而切斷聲音,我不知道如何使用 Random.Range。我也不知道如何制作一個(gè)[序列化字段]來容納這些多種聲音。我不知道我會(huì)如何去做這件事,因?yàn)槲沂切率?。public class ObjectDestroyer : MonoBehaviour{ [SerializeField] AudioClip[] breakColisionSounds; private void OnCollisionEnter2D(Collision2D collision) { AudioSource.PlayClipAtPoint(breakColisionSounds, Camera.main.transform.position); Destroy(gameObject, .03f); }}我希望球擊中這個(gè)物體,該物體在其序列化場(chǎng)內(nèi)播放隨機(jī)聲音,同時(shí)它被摧毀。
1 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您必須在 Unity 編輯器中序列化您的AudioClips 和 the 。AudioSource
然后,您將從數(shù)組中隨機(jī)選擇一個(gè)剪輯,將其分配給音頻源并播放。
我還建議您將功能分解為更小的組件。
void OnCollisionEnter2D(Collision2D collision)
{
GetComponent<AudioCollection>().PlayRandom();
}
public class AudioCollection : MonoBehaviour
{
[SerializeField] AudioClip[] clips;
[SerializeField] AudioSource source;
void PlayRandom()
{
source.clip = clips[Random.Range(0, clips.Length)];
source.Play();
}
}
- 1 回答
- 0 關(guān)注
- 179 瀏覽
添加回答
舉報(bào)
0/150
提交
取消