質問: "Wall") { audioSource.PlayOneShot(audioSource.clip); Destroy(this.gameObject); } } ``` 実行すると、壁(タグ:Wall")に当たった瞬間に、「can not play a disabled audio source」と表示され、音が再生されません。 音が鳴らない原因はどこでしょうか。
回答: 「can not play a disabled audio source」と表示されるのなら、そのゲームオブジェクトに アタッチされている「Audio Source」コンポーネントが無効になっているのかもしれません。 「Audio Source」コンポーネントのチェックボックスのチェックは外れていませんでしょうか? ``` if (col.gameObject.tag == "Wall") { audioSource.PlayOneShot(audioSource.clip); Destroy(this.gameObject); } ``` あと、ここの部分にDestroyを置くとこのゲームオブジェクトが壁に当たった瞬間にオーディオ クリップが再生される前に破棄されてしまい音が鳴らない状態になるかと思います。 もし、消失時に爆破エフェクトなどを呼ぶのなら音はそちらに付けたほうがいいでしょう。弾丸が ただ消えるだけなら壁に当たった瞬間に「Sprite Renderer」をオフにしてサウンドの再生が終わる タイミングで時間差でDestroyするなどの工夫をする必要があるかと思います。