这是有问题的路线
datosAguardar datos = new datosAguardar ();
这是我的代码
public class estadoJuego : MonoBehaviour { public int puntuacionMaxima = 0; public static estadoJuego estadojuego; private string rutaArchivo; void Awake () { rutaArchivo = Application.persistentDataPath + "/datos.dat"; if (estadojuego == null) { estadojuego = this; DontDestroyOnLoad (gameObject); } else if (estadojuego != this) { Destroy (gameObject); } } // Use this for initialization void Start () { cargar (); } // Update is called once per frame void Update () { } public void guardar () { BinaryFormatter bf = new BinaryFormatter (); FileStream file = File.Create (rutaArchivo); datosAguardar datos = new datosAguardar (); datos.puntuacionMaxima = puntuacionMaxima; bf.Serialize (file, datos); file.Close (); } void cargar () { if (File.Exists (rutaArchivo)) { BinaryFormatter bf = new BinaryFormatter (); FileStream file = File.Open (rutaArchivo,FileMode.Open); datosAguardar datos = (datosAguardar)bf.Deserialize (file); puntuacionMaxima = datos.puntuacionMaxima; file.Close (); } else { puntuacionMaxima = 0; } } [Serializable] //definiendo la clase class datosAguardar //: ISerializable { //propiedades de la clase public int puntuacionMaxima ; //metodo de la clase //constructor de la clase public datosAguardar (int puntuacionMaxima) // : base (puntuacionMaxima) { this.puntuacionMaxima = puntuacionMaxima ; } }
这是构造函数
[Serializable] //definiendo la clase class datosAguardar //: ISerializable { //propiedades de la clase public int puntuacionMaxima ; //metodo de la clase //constructor de la clase public datosAguardar (int puntuacionMaxima) // : base (puntuacionMaxima) { this.puntuacionMaxima = puntuacionMaxima ; } }
datosAguardar类只有一个需要1个参数的构造函数:
public datosAguardar (int puntuacionMaxima)
所以你要么提供这个论点,例如
datosAguardar datos = new datosAguardar (5);
或者定义另一个不带参数的构造函数,例如:
public datosAguardar () { this.puntuacionMaxima = 7; }
或者给现有构造函数中的参数一个默认值,例如:
public datosAguardar (int puntuacionMaxima = 8) { this.puntuacionMaxima = puntuacionMaxima; }