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

}