写一个关于本地存档和读档的文档,本文档包含了使用二进制,xml,json以及PlayerPrefs来进行存档和读档。注意,使用json的时候,要先把litjson.dll文件添加到项目中。
1,首先定义一个可以序列化的类,存储游戏信息,比如:
[System.Serializable]//用于序列化,必加
public class Save
{
public int id= 0;
public int score = 0;
}
2,接下来在另外一个类中写存储和读取的方法,
//创建Save对象并存储当前游戏状态信息
private Save CreateSaveGO()
{
//新建Save对象
Save save = new Save();
//把shootNum和score保存在Save对象中
//对Save对象中信息进行赋值
save.shootNum = UIManager._instance.shootNum;
save.score = UIManager._instance.score;
//返回该Save对象
return save;
}
//通过读档信息重置我们的游戏状态(分数、激活状态的怪物)
private void SetGame(Save save)
{
//更新UI显示
//将Save对象中信息的值赋值给所需物体
UIManager._instance.shootNum = save.shootNum;
UIManager._instance.score = save.score;
//调整为未暂停状态
UnPause();
}
3,重点代码
//二进制方法:存档
private void SaveByBin()
{
//序列化过程(将Save对象转换为字节流)
//创建Save对象并保存当前游戏状态
Save save = CreateSaveGO();
//创建一个二进制格式化程序
BinaryFormatter bf = new BinaryFormatter();
//创建一个文件流,Application.dataPath 是项目路径
FileStream fileStream = File.Create(Application.dataPath