Unity3d 无法为我正在生成的AudioManager组件使用System.Serializable/SerializedField

Unity3d 无法为我正在生成的AudioManager组件使用System.Serializable/SerializedField,unity3d,Unity3d,使用音频管理器的基本脚本,但出现错误,不确定发生了什么 试用制度;相反,同样的问题 using UnityEngine; [System.Serializable] public class Sound { public string name; public AudioClip clip; private AudioSource source; public float volume = 0.7; public float pitch = 1f;

使用音频管理器的基本脚本,但出现错误,不确定发生了什么

试用制度;相反,同样的问题

using UnityEngine;
[System.Serializable]

public class Sound {
    public string name;
    public AudioClip clip;
    private AudioSource source;

    public float volume = 0.7;
    public float pitch = 1f;

    public void SetSource (AudioSource _source) {
        source = _source;
        source.clip = clip;
    }

    public void Play () {
        source.volume = volume;
        source.pitch = pitch;
        source.Play();
    }
}

public class AudioManager : MonoBehaviour
{
    [SerializedField]
    Source[] sounds;

}

我希望这会将字段添加到我正在构建的音频管理器中

您的错误与此相关:

这是一个应该位于UnityEngine命名空间程序集UnityEngine.CoreModule中的属性,并且存在于Unity的多个版本中,因此它似乎不会因不同版本之间的API更改而成为问题

还有,你写得对吗?我注意到错误消息中的SerializedField而不是SerializeField,这看起来很奇怪。你应该再看看


是否确实为Unity安装了所有运行时、所有必需的using和assembly引用以及所有工具Visual Studio都是最新的

您的错误与此相关:

这是一个应该位于UnityEngine命名空间程序集UnityEngine.CoreModule中的属性,并且存在于Unity的多个版本中,因此它似乎不会因不同版本之间的API更改而成为问题

还有,你写得对吗?我注意到错误消息中的SerializedField而不是SerializeField,这看起来很奇怪。你应该再看看


是否确实为Unity安装了所有运行时、所有必需的using和assembly引用以及所有工具Visual Studio都是最新的

应该是[SerializedField],我有[SerializedField]


对不起!谢谢你的回复。

应该是[SerializedField],我有[SerializedField]


对不起!感谢您的回复。

Assets/AudioManager.cs26,6:错误CS0246:找不到类型或命名空间名称“SerializedFieldAttribute”是否缺少using指令或程序集引用?Assets/AudioManager.cs26,6:错误CS0246:找不到类型或命名空间名称“SerializedFieldAttribute”是否缺少using指令或程序集引用指令还是程序集引用?