0
0

Instantiateを変数に代入するってどういうこと?

Last updated at Posted at 2024-09-08

こんな感じで、

    GameObject goal = Instantiate(goalPrefab, goalPosition, Quaternion.identity);

Instantiate関数を変数に代入するって
どういうこと?
インスタンス化はちゃんとされてるの?

とふと疑問におもったのでメモ

結論

変数に代入しようが、インスタンス化はされる。
生成されたオブジェクトへの参照を保存するために
変数に代入している。

質疑応答

Q. なんのために生成したオブジェクトの参照を保存するの?

A. オブジェクトにさらに操作・調整を加えたいときに使うため。

たとえば、
生成したオブジェクトの高さを生成時に調整したい、
と思ったらこのようなコードが必要になる。

    // ゴールポールの高さを設定
    goal.transform.localScale = new Vector2(goal.transform.localScale.x, goalHeight);

ここでは生成したオブジェクトを格納した変数に対して
プロパティを作用させている。

変数に代入しないとこの操作は行えない。

==
コメント歓迎です。
ご指摘をいただけるとうれしいです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0