【unity】ゲームオブジェクトにしたスクリプトから処理を呼び出す方法

たまに「スクリプト名は違うけどメソッド名が一緒+1つの変数で扱いたい」というときがあります。

そんなときに使えるテクニックを本記事で紹介していきます。

 

また、ここでは「他のオブジェクトにアタッチされたスクリプトをゲームオブジェクトとして取得し、そのスクリプト内にあるメソッドを呼び出す」という内容でやっていきます。

スポンサーリンク



ゲームオブジェクトにしたスクリプトから処理を呼び出す方法

今回は下のようなオブジェクトとスクリプトを用意しています。

オブジェクト『TargetObject』

⇒スクリプト『TargetScript』をアタッチ

オブジェクト『TestObject』

⇒スクリプト『TestScript』をアタッチ

 

ここではTargetObjectにアタッチしたTargetScript内にある『TargetMethod()』を呼び出すという流れになります。

 

ゲームオブジェクトにしたスクリプトから処理を呼び出す

下が呼び出す対象のスクリプト内容となります。

 

そして、下がゲームオブジェクトのスクリプトから処理を呼び出すスクリプトになります。

 

GameObjectには『SendMessageメソッド』が用意されています。

このメソッドを使うことでゲームオブジェクトにしたスクリプトからでも処理を呼び出すことができるようになっているのです。

SendMessage( string メソッド名 ,

object 呼び出すメソッドに渡す値 ,

エラー時への対応 )

基本的には第二引数まで使う。

参考:docs.unity3d.com

 

これで実行すれば、コンソール上には「メソッド呼び出し成功!!」という文字列が表示されます。

 

スポンサーリンク