C# NullReferenceException:对象引用未设置为对象的实例-UNITY
我对统一中的声音有问题。这是我的代码:C# NullReferenceException:对象引用未设置为对象的实例-UNITY,c#,audio,unity3d,C#,Audio,Unity3d,我对统一中的声音有问题。这是我的代码: [RequireComponent(typeof(AudioSource))] 公共类SoundManager:MonoBehavior { 公共静态SoundManager实例 private AudioSource source; public Dictionary<SOUND_TYPE,AudioClip> sounds; public enum SOUND_TYPE { DEATCH, CATCHED } // Us
[RequireComponent(typeof(AudioSource))]
公共类SoundManager:MonoBehavior
{
公共静态SoundManager实例
private AudioSource source;
public Dictionary<SOUND_TYPE,AudioClip> sounds;
public enum SOUND_TYPE
{
DEATCH,
CATCHED
}
// Use this for initialization
void Start()
{
source = GetComponent<AudioSource>();
loadSounds();
}
// Update is called once per frame
void Update ()
{
}
public void playSound(SOUND_TYPE type)
{
source.clip = sounds[type];
source.Play();
}
public void loadSounds()
{
//loading sounds
sounds.Add(SOUND_TYPE.DEATCH, Resources.Load<AudioClip>("Sounds/AccelerationLow"));
}
私有音频源;
公共字典发音;
公共枚举声音类型
{
迪奇,
抓住
}
//用于初始化
void Start()
{
source=GetComponent();
loadSounds();
}
//每帧调用一次更新
无效更新()
{
}
公共虚空播放声音(声音类型)
{
source.clip=声音[类型];
source.Play();
}
公共图书馆
{
//加载声音
sounds.Add(SOUND_TYPE.DEATCH,Resources.Load(“sounds/AccelerationLow”);
}
}
我在source.Add()的第行有一个错误
错误:NullReferenceException:对象引用未设置为实例
物体的形状
我不知道发生了什么事,我怎样才能修复它。你忘了声音的构造函数。
:
public Dictionary<SOUND_TYPE,AudioClip> sounds = new Dictionary<SOUND_TYPE,AudioClip>();
public Dictionary sounds=new Dictionary();
表示公共字典发音
未初始化或初始化值为null。要初始化此字典,请创建一个构造函数或在起始方法sinds中初始化此字典,源将在那里初始化
要初始化空字典,请使用:
字典发音=新字典()代码>
void Start()
{
source=GetComponent();
发音=新字典()`
loadSounds();
}
公共图书馆
{
开始()
//加载声音
sounds.Add(SOUND_TYPE.DEATCH,Resources.Load(“sounds/AccelerationLow”);
}
void Start()
{
source = GetComponent<AudioSource>();
sounds = new Dictionary<SOUND_TYPE,AudioClip>();`
loadSounds();
}
public void loadSounds()
{
Start()
//loading sounds
sounds.Add(SOUND_TYPE.DEATCH, Resources.Load<AudioClip>("Sounds/AccelerationLow"));
}