这个代码的用处就是存储的东西不多,用不到数据库甚至于Xml和json,用一个txt文档存储就可以了。把文档的内容用数据流的方式读取和写入,用之前请先引入System.IO和System.Text 两个命名空间,在我看来比较方便,再小一点的数据存储就用Unity自带的PlayerPrefs类存储吧,但是手机端清除缓存后就没有了。
写入TXT
//第一步访问Txt文件
stringpath =Application.dataPath +"/Map/Map1.txt";
//文件流
FileStreamfs =File.OpenWrite(path);
//第二步填充内容
StringBuildersb =newStringBuilder();
for(inti = 0; i < 35; i++) {
for(intj = 0; j < 35; j++){
sb.Append(Random.Range(0, 3));
}
sb.AppendLine();
}
//Using system.Text
byte[] map =Encoding.UTF8.GetBytes(sb.ToString());
fs.Write(map, 0, map.Length);
fs.Close();
fs.Dispose();
读取TXT
stringpath =Application.dataPath +"/Map/Map1.txt";
//文件读写流
StreamReadersr =newStreamReader(path);
//读取内容
stringresult = sr.ReadToEnd();
//逐行截取(这样截取的数据可能会有问题,如多一行或对一个空格,需要调整)
// 可以自行百度方法解决,也可以按实际手动修改
string[] data = result.Split('\n');
byte[,] mapData =newbyte[35, 35];
for(inti = 0; i < 35; i++){
for(intj = 0; j < 35; j++){
mapData[i, j] =byte.Parse(data[i][j].ToString());
}
}
returnmapData;