ワードはともだち

ICT支援員さんのはてなブログ

【Unity自習】オブジェクトの生成

書籍

 

p146 21行目
GameObject instance = (GameObject)Instantiate(prefab_Enemy1, new Vector3(pos_Spoon_X, 5.5f, 0.0f), Quaternion.identity);

 

初めて見るオブジェクトの生成。

ちょっと長いなぁ

Instantiate(①元のオブジェクト名,②位置, ③回転)ということは分かる。

GameObject instance = (GameObject)Instantiateこのあたりはどうなのか?

 

■オブジェクトの生成

//オブジェクトの定義

public GameObject prefab_Enemy1;

//オブジェクトの生成
void Start (){
Instantiate(prefab_Enemy1, new Vector3(pos_Spoon_X, 5.5f, 0.0f), Quaternion.identity);
}

生成するだけならこれでOKだが。

 

■オブジェクトを生成してアレコレする
{
GameObject instance = (GameObject)Instantiate(prefab_Enemy1, new Vector3(pos_Spoon_X, 5.5f, 0.0f), Quaternion.identity);
}

これは生成したオブジェクトを変数instanceに入れるということ。

そうするとinstance.nameとかを指定して生成後もアレコレ変更できるようになる。

 

■謎

(GameObject)って必要なん?

 

■インスペクターでprefab_Enemy1への参照をしない場合

//リソースをロードする
GameObject prefab_Enemy1 = (GameObject)Resources.Load ("Prefabs/prefab_Enemy1");
GameObject instance = Instantiate(prefab_Enemy1, new Vector3(pos_Spoon_X, 5.5f, 0.0f), Quaternion.identity);

 

インスペクターで関連づける場合とつけない場合がまだ整理できておりません。

・・・続く!