質問編集履歴
6
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -153,6 +153,11 @@
|
|
153
153
|
### エラー内容
|
154
154
|
エラー CS0311: 型 'UnityEngine.GameObject[]' は、ジェネリック型またはメソッド 'Object.Instantiate<T>(T, Vector3、クォータニオン)」。 「UnityEngine.GameObject[]」から「UnityEngine.Object」への暗黙的な参照変換はありません。
|
155
155
|
|
156
|
+
### 考察
|
157
|
+
Instantiateの第一引数へ直接配列を入れることができない。
|
158
|
+
その為、forまたはforeachで配列の中身を取り出す関数を作成して、その関数を、第一引数へ入れる。
|
159
|
+
|
160
|
+
|
156
161
|
### 試したこと
|
157
162
|
Resourcesフォルダにしたり、forやforeachなど様々なことをしたのですがエラーが出続けて、消したり書いたりを繰り返しましたが上手くできずお手上げ状態です。(泣)
|
158
163
|
|
5
コメント修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -112,7 +112,7 @@
|
|
112
112
|
|
113
113
|
void Awake()
|
114
114
|
{
|
115
|
-
//ボール
|
115
|
+
//ボールが表示されていないなら表示する
|
116
116
|
if(!activeTwoSizeBall)
|
117
117
|
{
|
118
118
|
GetTwoSizeBall();
|
4
コメント修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -131,7 +131,7 @@
|
|
131
131
|
|
132
132
|
|
133
133
|
|
134
|
-
//配列から取り出
|
134
|
+
//配列から取り出して表示
|
135
135
|
void GetTwoSizeBall()
|
136
136
|
{
|
137
137
|
//生成場所をランダムで設定
|
3
コード追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -95,22 +95,54 @@
|
|
95
95
|
{
|
96
96
|
|
97
97
|
//生成する中小ボールを格納
|
98
|
-
public GameObject[]
|
98
|
+
public GameObject[] twoSizeBalls;
|
99
99
|
|
100
100
|
|
101
|
+
//ボールpos格納
|
102
|
+
private float ballPosX, ballPosY;
|
103
|
+
|
104
|
+
//生成したボールオブジェクト格納用
|
101
|
-
|
105
|
+
private GameObject newTwoSizeBall;
|
106
|
+
|
107
|
+
//生成されたボール格納(中小)
|
108
|
+
GameObject activeTwoSizeBall;
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
void Awake()
|
114
|
+
{
|
115
|
+
//ボールのオブジェクトを格納
|
116
|
+
if(!activeTwoSizeBall)
|
117
|
+
{
|
118
|
+
GetTwoSizeBall();
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
102
122
|
void Start()
|
103
123
|
{
|
104
124
|
|
105
125
|
}
|
106
126
|
|
107
|
-
// Update is called once per frame
|
108
127
|
void Update()
|
109
128
|
{
|
110
129
|
|
111
130
|
}
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
//配列から取り出す
|
135
|
+
void GetTwoSizeBall()
|
136
|
+
{
|
137
|
+
//生成場所をランダムで設定
|
138
|
+
ballPosX = Random.Range(-8.5f, 8.5f);
|
139
|
+
ballPosY = Random.Range(-4.5f, 4.5f);
|
140
|
+
|
141
|
+
newTwoSizeBall = Instantiate(twoSizeBalls,new Vector3(ballPosX, ballPosY, 0), Quaternion.identity);
|
142
|
+
//親オブジェクトを変える
|
143
|
+
newTwoSizeBall.transform.SetParent(transform);
|
144
|
+
}
|
112
145
|
}
|
113
|
-
|
114
146
|
```
|
115
147
|
大ボール配列
|
116
148
|

|
@@ -118,6 +150,8 @@
|
|
118
150
|
中小ボール配列
|
119
151
|

|
120
152
|
|
153
|
+
### エラー内容
|
154
|
+
エラー CS0311: 型 'UnityEngine.GameObject[]' は、ジェネリック型またはメソッド 'Object.Instantiate<T>(T, Vector3、クォータニオン)」。 「UnityEngine.GameObject[]」から「UnityEngine.Object」への暗黙的な参照変換はありません。
|
121
155
|
|
122
156
|
### 試したこと
|
123
157
|
Resourcesフォルダにしたり、forやforeachなど様々なことをしたのですがエラーが出続けて、消したり書いたりを繰り返しましたが上手くできずお手上げ状態です。(泣)
|
2
題名
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【Unity】配列から取り出して
|
1
|
+
【Unity】配列から取り出して、オブジェクトを表示したい
|
test
CHANGED
File without changes
|
1
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -122,3 +122,9 @@
|
|
122
122
|
### 試したこと
|
123
123
|
Resourcesフォルダにしたり、forやforeachなど様々なことをしたのですがエラーが出続けて、消したり書いたりを繰り返しましたが上手くできずお手上げ状態です。(泣)
|
124
124
|
|
125
|
+
### その他プチ質問
|
126
|
+
その他プチ質問
|
127
|
+
forはループをするのに数値を利用。
|
128
|
+
foreachはループをするのに配列を利用(別のデータ型や初期化前の変数は使えない)。
|
129
|
+
という認識でいるのですが、今回は配列から取り出す為、forではなくforeachを使うということでしょうか。
|
130
|
+
|