現在想對人物添加射擊時候的槍聲,我對人物添加了Audio Source之后,在檢測到射擊信號到來,就播放聲音:
myAudio.Play();
如果是單次射擊作業很完美,但是如果連續射擊的時候,下一次的射擊聲音到來,會導致上一次的射擊聲音只播放了一點點就戛然而止,非常郁悶。
請問有沒有辦法讓下一次射擊聲音播放的時候不影響上一次的聲音,讓上一次也可以執行完畢?
uj5u.com熱心網友回復:
把槍聲添加到子彈上而不是槍或者人上,大概就是你想要的效果了。uj5u.com熱心網友回復:
兩種方法,1,播放聲音的代碼放在單獨的執行緒里
2,如果引擎是自己寫的,更簡單,聲音播放有自己的結束觸發點,本身就不會受其它的事件干擾
uj5u.com熱心網友回復:
我一般這些聲音播放元素 我會單獨創建一個obj來處理 然后用物件池把這些物件管理起來uj5u.com熱心網友回復:
不用這么麻煩,u3d自帶解決方案public AudioClip m_shootClip;
protected AudioSource m_audio;
在start里
m_audio = this.audio;
最關鍵的
m_audio.PlayOneShot(m_shootClip);
就不會覆寫了
uj5u.com熱心網友回復:
嗯 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/67513.html
標籤:Unity3D
上一篇:unity中UGUI字體在game視圖里不顯示是什么原因呢?
下一篇:win32移植安卓
