亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的 AudioClip[] 在我的 PlayClipAtPoint 函數中不起作用

我的 AudioClip[] 在我的 PlayClipAtPoint 函數中不起作用

C#
米脂 2023-07-22 18:34:06
當我的球對象擊中該腳本所附加的靜態對象時,我想隨機播放一定數量的聲音中的 1 個。一旦球擊中物體,物體就會被摧毀,從而切斷聲音,我不知道如何使用 Random.Range。我也不知道如何制作一個[序列化字段]來容納這些多種聲音。我不知道我會如何去做這件事,因為我是新手。public class ObjectDestroyer : MonoBehaviour{    [SerializeField] AudioClip[] breakColisionSounds;    private void OnCollisionEnter2D(Collision2D collision)    {        AudioSource.PlayClipAtPoint(breakColisionSounds,        Camera.main.transform.position);        Destroy(gameObject, .03f);    }}我希望球擊中這個物體,該物體在其序列化場內播放隨機聲音,同時它被摧毀。
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

您必須在 Unity 編輯器中序列化您的AudioClips 和 the 。AudioSource


然后,您將從數組中隨機選擇一個剪輯,將其分配給音頻源并播放。


我還建議您將功能分解為更小的組件。


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();

    }

}


查看完整回答
反對 回復 2023-07-22
  • 1 回答
  • 0 關注
  • 182 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號