我有这个类它有一个2dArray当我试图填充它我得到错误NullReferenceException:对象引用没有设置为对象的实例 AdminGrid.FullNot(Int32 Row,Int32 Column,Int32 Full,System.String PieceName)
public class AdminGrid : MonoBehaviour {
public int numRows;
public int numColumns;
private int[,] ArrayGrid;
// Use this for initialization
void Init() {
numColumns = 6;
numRows = 6;
ArrayGrid = new int[numRows,numColumns];
for(int y = 0;y < numRows;y++)
{
for(int x = 0;x < numColumns;x++)
{
ArrayGrid[y,x] = 0;
}
}
}
public void FullNot(int Row,int Column,int Full,string PieceName)
{
ArrayGrid[Row,Column] = 1;//Error is here
}
public int WhatsonGrid(int Row,int Col)
{
return ArrayGrid[Row,Col];
}
}
知道为什么会这样吗?正如你可以看到我的数组充满了0s我认为这会解决这个但似乎没有,我也确保值在数组内部意味着列和行的最大值是5,5
即时使用引擎Unity所以Init //实际上叫做start
当游戏开始时,它会被调用,这就是为什么我很确定它被称为
答案 0 :(得分:1)
ArrayGrid
是一个引用类型字段,默认情况下为null,所以我简单地断定:你没有调用Init
。所以:致电Init
。
答案 1 :(得分:1)
使用AdminGrid重命名Init,一切都会好的)
public AdminGrid()
{
...
}