あなたは
xRadius
理由はないので、時間内にその瞬間のクラスの変数宣言スコープに
this
を使用することはできません
grid
の前に定義する必要があります。
xRadius
とyRadius
を定数として宣言することで、目的を達成できます(定数は実行時に変更されない可変ではありません)。
private const xRadius = 20;
private const yRadius = 20;
private GameObject[,] grid = new GameObject[xRadius, yRadius];
(静的変数はクラスインスタンスの外に存在し、クラスインスタンスが消滅した後に利用可能になります)。
class Example {
private static xRadius = 20;
private static yRadius = 20;
private GameObject[,] grid = new GameObject[Example.xRadius, Example.yRadius];
また、クラスコンストラクタでグリッドを定義し、通常のクラス変数参照を使用することもできます。
class Example {
public Example() {
this.grid = new GameObject[this.xRadius, this.yRadius];
}
}
(実行時に以下のリソース使用量の面で)最速のソリューション値はコンパイル時にコピーされるようにconstants
を使用して、彼らは文句を言わない余分なリソースを占有され、最もダイナミックな解決策は、それらを設定していますグリッドオブジェクトにアクセスする前に、実行時にxRadius
とyRadius
を変更し、同じ半径変数を使用してgrid
変数を再初期化することができます。
@sixones答えは、いくつかの可能な実装をカバーしています。私の意見では、検討する価値がある – jdphenix