【问题标题】:How to save Unity file that is readible?如何保存可读的 Unity 文件?
【发布时间】:2019-11-17 19:10:07
【问题描述】:

我正在保存每个更新函数的模拟状态。这只是一个整数列表,表示我得到的人口数量。每次更新我都会将当前人口数量添加到列表中,如果数量为 0,我将停止执行并将列表保存在文件中。一切都很好,但我在保存状态下得到的是这样的:

˘ ˘


是否可以“正常”保存它,例如:5,6,7,10,12,3,0?我知道如何在加载程序期间对其进行解码,但事实并非如此。我想正常读取txt文件来提取它,这样我就可以从中制作一个情节。 这是一个保存代码:



    public static void saveData (List<int> data){

        BinaryFormatter formatter = new BinaryFormatter();
        string path = Application.persistentDataPath + "/dane.txt";
        FileStream stream = new FileStream(path, FileMode.Create);

        DataToSave datatosave = new DataToSave(data);

        formatter.Serialize(stream, datatosave);
        stream.Close();
    }

}

这是我之前使用的DataToSave:

public class DataToSave {

    List<int> data;

    public DataToSave (List<int> list){
        data = list;
    }
}

提前致谢。

【问题讨论】:

    标签: c# unity3d serialization save


    【解决方案1】:

    确保在顶部添加using System.io;

    然后,简单地说:

    string path = @(Application.persistentDataPath + "/dane.txt");

    System.IO.File.WriteAllText(path, string.Join(", ", data));

    查看此链接了解更多信息:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file

    【讨论】:

    • 小心:切勿使用+ "/" 直接连接系统文件路径。而是使用Path.Combine,它会根据目标平台自动使用正确的路径分隔符。
    猜你喜欢
    • 1970-01-01
    • 2021-10-09
    • 2011-10-12
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 2016-08-09
    相关资源
    最近更新 更多