阅读国外Coder教程时的笔记,Object Management篇(一)

教程原地址:https://catlikecoding.com/unity/tutorials/object-management/persisting-objects/

这里主要分享看教程过程中,我认为比较干货的部分。如果想看更详细的请点击上面这个链接。

 

如何写游戏的Save以及Load功能

1.使用Paht.Combine可以连接两个字段,适合创建路径时使用

savePath = Path.Combine(Application.persistentDataPath, "saveFile");
//得到路径C:/Users/Administrator/AppData/LocalLow/DefaultCompany/Default\saveFile

2.当已经明确新建对象的类型的时候,可以使用var关键字,例如:

var writer = new BinaryWriter(File.Open(savePath, FileMode.Create));

3.存储记录和读取记录分别要用到BinaryWriter和BinaryReader类,2个都是Systems.IO下的类

	void Save () {
		using (
			var writer = new BinaryWriter(File.Open(savePath, FileMode.Create))
		) {}
	}
	void Load () {
		using (
			var reader = new BinaryReader(File.Open(savePath, FileMode.Open))
		) {}
	}
//这里using起一个保护作用,等同于下面语句
var writer = new BinaryWriter(File.Open(savePath, FileMode.Create);
try { … }
finally {
	if (writer != null) {
		((IDisposable)writer).Dispose();
	}
}

之后,可以用BinaryWriter类下的.write和BinaryReader类下的.read去读写数据。

数据是以固定顺序的形式存储到save文件里的。(打个比方如下图)所以当你改变储存内容格式时,需要考虑之前数据的顺序否则会读取出错,或者索性把保存文件删了重新创建新的保存文件。

 

以上,希望对大家的学习有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值