Unity3D -- 从excel文件中读取数据

最近做的一款益智小游戏需要给出关卡的解答过程,想到了把答案的操作写入到excel表中,然后在游戏运行过程中从表中读取数据来进行相应操作,给出解答过程。我的做法如下啦:

首先把游戏上下左右的操作简化为数据‘U’,‘D’,‘L’,‘R’,然后将一系列操作保存在excel表中


这里保存了3关的游戏答案数据,然后将其导出成.csv格式的文件da'ta.csv。然后放到工程Resources文件夹中。
Unity3D -- 从excel文件中读取数据_第1张图片里面内容是
它将我们excel表中的数据转成右图格式的数据,A1与B1之间用';'表示分割,window上面也可能用‘,’表示分割。后面很多个分号是因为导出的时候他会与最长那行做对齐,内容是空的。
接下来在代码中使用它。

private string[] lineArray;
void Start () {
        TextAsset binAsset = Resources.Load ("data", typeof(TextAsset))as TextAsset;
        // #号分割
        lineArray = binAsset.text.Split ("\r" [0]);
        Array = new string[lineArray.Length][];
        for (int i = 0; i < lineArray.Length; i++) {
            Debug.Log ("lineArray [" + i + "]:  " + lineArray [i]);
            Array [i] = lineArray [i].Split('#')[0].Split (";" [0]);
        } 
    }
该部分会去 Resources加载data.csv文件,将其读成一个textAsset类型的对象,可以直接取出里面的内容。 根据上面数据的格式我做了分割,最后取出要使用的数据;在Mac上分割换行用‘\r’,在windows上可能是使用'\n'换行。

接下来我们打印一下data文件中的内容吧
Unity3D -- 从excel文件中读取数据_第2张图片
  这就是unity的输出,是不是把我们文件中的内容输出了呢。其实还是蛮简单的嘛。




————Rocky

你可能感兴趣的:(Unity3D)