存档方案
PlayerPrefs:数据持久化方案
存档方案
PlayerPrefs:数据持久化方案
犯了个离谱的错误:
6分04秒的UpdateMonsters代码是先判断目标是否激活。用来和其他协程的时间配合。
我没有这一步,直接就是停止所以协程。当更新怪物的时候,其他携程被停止掉,有的位置怪物处于正在激活的时间点,这就导致了它相关的代码没法向下执行。
导致任务20运行报错,提示没有引用物体。我尝试了一下,还是有问题。
存档读档--3种方法
anim = GetComponent<Animation>(); //这里犯错误了:写成了anim.GetComponent<Animation>()
对需要拖拽赋值的物体的感想
获取怪物
激活{随机激活}
金口难开没看看没开门,吗,吗,吗,吗,吗,m
不会反复DIAOYON
做项目前,要把所需要的文件夹都先创建好
//创建一个StreamReader,用来读取流
StreamReader sr = new StreamReader(filePath);
//将读取到的流赋值给jsonStr
string jsonStr= sr.ReadToEnd();
//关闭
sr.Close();
//将字符串jsonStr转换为Save对象
Save save =JsonMapper.ToObject<Save>(jsonStr);
乖孙儿
//序列划的过程(将sava对象转化成字节流过程)
//创建Save对象并保存游戏状态
Save save = CreatSaveGame();
//创建一个二进制的格式化的程序
BinaryFormatter bf = new BinaryFormatter();
//创建一个文件流
FileStream filestream = File.Create(Application.dataPath+"/StreamingFile"+"/Bin.txt");
//用二进制格式化程序的序列化方法来序列花save对象(参数:创建的文件流和序列化对象)
bf.Serialize(filestream,save);
//关闭流
filestream.Close();
(二进制的保存)
获得怪物当前的位置
二进制方法
- 序列化(转换),反序列化(解析)
sml:扩展标记语言,可以标记,定义数据类型
json:可以使用它来跨平台的传输数据
1.通过关键字存储PlayerPrefs.SetInt( )
直接存储int等数据类型的数据
获取数值PlayerPrefs.GetInt( )
二进制方法:
xml 标记语言
序列化过程(将对象转换为字节流)
创建对象并保存游戏状态
创建一个二进制格式化程序
创建一个文件流
用二进制格式化程序的序列化方法来序列化对象,参数:创建的文件流和序列化的对象
关闭流
Targetmanager:刷东西用的
组件:
Animation:播放管理1animation:初始播放状态
2animation: 次级播放
Box collider:碰撞器
Mash menderer:物体实体
*