Instaniateでプレハブから作ったオブジェクトをUnityで取得したいのですが、どうすればいいですか? | Unity Forum | Tech Stadium Forum

Instaniateでプレハブから作っ...
 
通知
すべてクリア

Instaniateでプレハブから作ったオブジェクトをUnityで取得したいのですが、どうすればいいですか?  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 1:44 pm  

Instaniateでプレハブから作ったオブジェクトをUnityで取得したいのですが、どうすればいいですか?

なぜかインスタンスに対して、setactive(true)で表示しようとしても処理は通っているのに、表示されていません。

GenerateManagerのEnemyを生成するときのものです。

This topic was modified 4年前 by Student

引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 1:44 pm  

Instantiateの戻り値としてGameObjectが設定されているので
GameObject prefab = Instantiate(prefabObject) as GameObject;
と記述すると、prefab変数に生成したGameObjectを取得できます。 https://qiita.com/Teach/items/c28b4fe5ca8dc4c83e26


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
04/09/2020 1:46 pm  

どうやらGenerateCharactorクラスの変数ePrefabの配列の宣言がうまくできておらず、ePrefabNullが入っていたのが原因だったようです。
GenerateCharactorクラスの14行目の「GameObject[] ePrefab;」を「GameObject[] ePrefab = new GameObject[3];
に書き換えたら通ります。(3は敵の数)

あと、Update内のfor文の条件部分がi >= 2になっているので、i <= 2に修正してください。

 


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
04/09/2020 1:47 pm  

なるほど、凡ミスしていましたね、すいません。
配列の宣言の仕方もわかりました。
ありがとうございます。


返信引用
共有:
タイトルとURLをコピーしました