這個(gè)代碼的用處就是存儲(chǔ)的東西不多衍慎,用不到數(shù)據(jù)庫(kù)甚至于Xml和json,用一個(gè)txt文檔存儲(chǔ)就可以了皮钠。把文檔的內(nèi)容用數(shù)據(jù)流的方式讀取和寫(xiě)入稳捆,用之前請(qǐng)先引入System.IO和System.Text 兩個(gè)命名空間,在我看來(lái)比較方便麦轰,再小一點(diǎn)的數(shù)據(jù)存儲(chǔ)就用Unity自帶的PlayerPrefs類存儲(chǔ)吧乔夯,但是手機(jī)端清除緩存后就沒(méi)有了砖织。
寫(xiě)入TXT
//第一步訪問(wèn)Txt文件
stringpath =Application.dataPath +"/Map/Map1.txt";
//文件流
FileStreamfs =File.OpenWrite(path);
//第二步填充內(nèi)容
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";
//文件讀寫(xiě)流
StreamReadersr =newStreamReader(path);
//讀取內(nèi)容
stringresult = sr.ReadToEnd();
//逐行截取(這樣截取的數(shù)據(jù)可能會(huì)有問(wèn)題,如多一行或?qū)σ粋€(gè)空格末荐,需要調(diào)整)
// 可以自行百度方法解決侧纯,也可以按實(shí)際手動(dòng)修改
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;