参考
2D array from text file
改得如下程序
FileName.txt
0,1,16,1,1,0
1,1,16,0,0,0
2,1,16,0,0,0
3,1,16,0,1,0
4,1,16,0,0,11
5,1,16,0,0,7
6,1,16,0,1,2
7,1,16,54,48,50
8,1,16,183,138,98
9,1,16,188,169,4
10,1,16,189,189,4
11,1,16,190,189,0
12,1,16,187,146,27
13,1,16,142,113,102
14,1,16,2,1,0
15,1,16,1,1,0
16,1,16,1,0,0
17,1,16,0,0,2
18,1,16,0,1,2
19,1,16,0,1,0
0,2,16,0,0,0
代码
using UnityEngine;
using System.Collections;
using System.IO;
using UnityEngine.UI;
using System.Collections.Generic;
/**
* <summary>
* <para>作者:巨星电艺</para>
* <para>编写日期:巨星电艺</para>
**/
public class ouyLoadTextArray : MonoBehaviour
{
public TextAsset txtRawFile;
public Text uiText;
private int[,] spaces;
private List<string> eachLine;
private string theWholeFileAsOneLongString;
// Use this for initialization
void Start ()
{
theWholeFileAsOneLongString = txtRawFile.text;
eachLine = new List<string>();
eachLine.AddRange(theWholeFileAsOneLongString.Split("\n"[0]));
int[,] spaces = new int[eachLine.Count, 6]; // 获取整数数组
for (int i = 0; i < eachLine.Count; i++) { // 逐行转换
string st = eachLine[i]; // 取得一行
string[] nums = st.Split(new[] { ',' });
if (nums.Length != 6) {
Debug.Log ("Misforned input on line "+i+1);
}
for (int j = 0; j < Mathf.Min (nums.Length, 6); j++) {
int val;
if (int.TryParse (nums[j], out val))
spaces[i,j] = val;
else
spaces[i,j] = -1;
}
}
// Output the data to verify the read
for (int i = 0; i < spaces.GetLength(0); i++) {
Debug.Log(spaces[i,0].ToString ()+spaces[i,1].ToString()+spaces[i,2].ToString ()+spaces[i,3].ToString()+spaces[i,4].ToString()+spaces[i,5].ToString ());
}
}
}