Unityでゲームオブジェクトやコンポーネントのメソッドを呼び出す方法色々
この記事は最終更新日から7年以上経過しています。
Unityで他のゲームオブジェクトやコンポーネントのメソッドを呼び出すのに色々方法があるそうなのでメモ。覚えられる自信が…無い…
SendMessageで呼び出す方法
BroadcastMessageで呼び出す方法
直接関数を呼び出す方法
コンポーネントが見つからないとエラーになるので RequireComponent
を使用して必要なコンポーネントも自動でアタッチされるうようにしておく。
EventHandlerを使用して呼び出す方法
!= null
で存在を確認しないとメソッドが紐付けられていない時にエラーになる。
+=
を使用して、メソッドを紐付けてもいいし delegate(){}
を使ってその場で内容を記述してもいい。
EventHandlerを使用して呼び出す方法(引数を渡す場合)
引数を渡すには EventArgs
を継承したカスタムイベント用のクラスを作らないといけない。
UnityEventを使用して呼び出す方法
public UnityEvent OnUnityEvent;
はこれだけでインスペクタ上からメソッドを追加できるようになるので便利。
UnityEventを使用して呼び出す方法(引数を渡す場合)
引数を追加するには public class CustomUnityEvent : UnityEvent<string>{};
などのカスタムイベント用のクラスを作らないといけないので注意。複数の値や他の値を持たせる事ももちろん可。
ExecuteEventsを使用して呼び出す方法
受け手側は先にインターフェースを作り、それを継承する必要がある。
Comment
comments powered by Disqus