這個代碼的用處就是存儲的東西不多,用不到數據庫甚至于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;