变量值变为零统一

时间:2015-06-11 05:18:03

标签: variables unity3d null

MonoBehaviour类的成员失去了价值。这是我的代码解释。

我有一个存储数据的类:

public class Tile
{
    public string name;
    public string id;
}

我使用Tile类的第二节课:

public class TilesManager : MonoBehaviour
{
    private List<Tile> tiles;

    public void Awake()
    {
        tiles = new List<Tile>()
        {
            new Tile() { name="A", id="A" },
            new Tile() { name="B", id="B" },
            new Tile() { name="C", id="C" },
        };

        // here i set break point and the tiles has value and contains 3 items
    }

    public Tile GetTileAtIndex(int index)
    {
        if(index < 0) index = 0;
        if(index > 2) index = 2;

        // here i set break point the tiles value is null !
        return tiles[index];
    }
}

我从另一个脚本调用“GetTileAtIndex”方法。它在“return tiles [index];”这一行给我空引用异常。

1 个答案:

答案 0 :(得分:0)

在你使用Awake()方法之前,

tile明显为空。首先调用它来实例化tile。