试图在统一中附加一个保存脚本,序列化不工作

本文关键字:脚本 保存 一个 序列化 工作 | 更新日期: 2023-09-27 18:12:55

我试图在unity中附加一个简单的保存脚本到GameObject(立方体)。一切看起来都很好(没有错误),除了Serialize部分(说'没有重载方法'Serialize'接受1个参数)。有人能指点我一下吗?下面是代码示例。非常感谢!

using UnityEngine;
using System.Collections;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
public class SavingTheGame : MonoBehaviour {
    public void OnTriggerEnter (Collider collider)
    {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream file = File.Create(Application.persistentDataPath + "/SaveGame.dat");

           bf.Serialize(file);
            file.Close();     
    }
}

试图在统一中附加一个保存脚本,序列化不工作

您没有序列化任何东西,您需要提供您想要序列化的对象

public void OnTriggerEnter (Collider collider)
{
        BinaryFormatter bf = new BinaryFormatter();
        FileStream file = File.Create(Application.persistentDataPath + "/SaveGame.dat");
       // Change here
       var obj = "This Will Be Serialized";
       bf.Serialize(file, obj); 
       file.Close();     
}

BinaryFormatter。序列化需要2个参数,流和对象

你可以跟随一个很好的教程使用BinaryFormatter在Unity保存/加载在这里:https://gamedevelopment.tutsplus.com/tutorials/how-to-save-and-load-your-players-progress-in-unity--cms-20934