返回Type时,对象引用未设置为对象的实例

时间:2013-05-07 15:13:07

标签: c# return unity3d instance

当我尝试从另一个Unity脚本返回Grid类型时,我感到很恼火Object reference not set to an instance of object。当我加载玩家数据时,他们的方法有效,所以我不知道为什么它在这里不起作用。

GameLevel gameLevel;
GameLevel.Grid grid;

void Start()
{   
    gameLevel = gameObject.GetComponent<GameLevel>();
    grid = gameLevel.getGrid();
}




using UnityEngine;
using System.Collections;

public class GameLevel : MonoBehaviour {
    Grid grid;

    public class Grid{
        public bool[,] playable = new bool[10, 10]{
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true},
            {true,true,true,true,true,true,true,true,true,true}
        };

        public int[,] filled = new int[10, 10]{
            {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,},
            {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,},
            {-1, -1, 0, 0, 0, 0, 0, 0, -1, -1,},
            {-1, -1, 0, 0, 0, 0, 0, 0, -1, -1,},
            {-1, -1, 0, 0, 0, 0, 0, 0, -1, -1,},
            {-1, -1, 0, 0, 0, 0, 0, 0, -1, -1,},
            {-1, -1, 0, 0, 0, 0, 0, 0, -1, -1,},
            {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,},
            {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,},
            {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,},
        };
    }

    void Awake () {
        grid = new Grid();
    }

    public Grid getGrid(){
        return grid;
    }
}

1 个答案:

答案 0 :(得分:0)

解决GetComponentInChildren()