Unityでクラスをnewしてインスタンスを作る方法

UnityはたいていGameObjectにComponentを追加して実行するのですが、スクリプト内ででクラスをnewしてインスタンス作ることもできます。ただUnityの作法があって知らないとはまるのでメモっておきます。

 
インスタンス作る場合


ClassName object = gameObject.AddComponent<ClassName>();
object.method();

 
これでもOK


gameObject.AddComponent<ClassName>();
gameObject.GetComponent<ClassName>().method();

やってることは同じで、あらかじめGameObjectにComponentとしてクラスを登録してあげないといけない。登録したコンポーネントをGetComponentする感じですね。

コメントを残す