回答編集履歴
2
引用が正しくできないのでコードブロックに変えた
answer
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
> なぜかInsrantiateで生成したGameObject内にアタッチされてないことになってしまい、参照元がnullとなってしまいます。
|
2
2
|
|
3
|
+
```csharp
|
4
|
+
GameObject o = Instantiate(cell, cellPos, Quaternion.identity);
|
5
|
+
o.name = "cell" + i.ToString() + "_" + j.ToString();
|
3
|
-
|
6
|
+
//この箇所がエラーをはいています
|
4
|
-
|
7
|
+
cells[i, j] = o.GetComponent<CellController>();
|
5
8
|
|
9
|
+
```
|
6
10
|
上に書いてある「エラーが起きる行」の指示が正しければ、GetComponent ができない理由は「Insrantiateで生成したGameObject内にアタッチされてない」とかではなくて変数 o が null だからです。つまりインスタンス化に失敗しています。
|
7
11
|
|
8
12
|
インスタンス化に失敗する理由はいろいろあるでしょう。ありそうなこととしては、GameManager の cell プロパティに「生成したいプレハブ」を **Project ウインドウから** アサインするように書かれていますが、これが設定されていないのでしょう。
|
1
表現の修正
answer
CHANGED
@@ -5,4 +5,4 @@
|
|
5
5
|
|
6
6
|
上に書いてある「エラーが起きる行」の指示が正しければ、GetComponent ができない理由は「Insrantiateで生成したGameObject内にアタッチされてない」とかではなくて変数 o が null だからです。つまりインスタンス化に失敗しています。
|
7
7
|
|
8
|
-
GameManager の cell プロパティに「生成したいプレハブ」を **Project ウインドウから** アサインするように書かれていますが、これが設定されていないのでしょう。
|
8
|
+
インスタンス化に失敗する理由はいろいろあるでしょう。ありそうなこととしては、GameManager の cell プロパティに「生成したいプレハブ」を **Project ウインドウから** アサインするように書かれていますが、これが設定されていないのでしょう。
|