前提・実現したいこと
Unityを始めたばかりで、
3Dのブロック崩しを作っており、
弾く棒に弾が当たった時だけ効果音を流したいです。
(ifを使って条件分岐したいです。)
発生している問題・エラーメッセージ
現状、ブロックや壁に当たった時も音声が流れてしまい、
下記のようにプログラムを書いてみたら、
何も音声が流れません。
エラーメッセージ NullReferenceException: Object reference not set to an instance of an object Sound2.OnCollisionEnter (UnityEngine.Collision collision) (at Assets/Scripts/Sound2.cs:17)
該当のソースコード
using UnityEngine; public class Sound2 : MonoBehaviour { public AudioClip sound; private AudioSource audioSource; private void OnCollisionEnter(Collision collision) { if (collision.gameObject.name == "Sphere") { audioSource.Play(); } else { audioSource.Stop(); } } }
試したこと
OnCollisionEnter(Collision collision)について調べてみて、
ifを追加してみましたが、効果音が流れません。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/25 00:52
2019/10/25 01:04
2019/10/25 04:21