| methodName | 呼び出すメソッドの名前 |
| value | 呼び出すメソッドに渡す値 |
| options | ターゲットのオブジェクトにメソッドが存在しない場合、エラーを発生させるかどうか |
ゲームオブジェクトと親(の親、さらに親...)にアタッチされている全てのMonoBehaviourにある methodName と名付けたメソッドを呼び出します
メソッドの実行時に引数の数を0にすることによって渡される引数の値を無視することが出来ます。 /options/ をSendMessageOptions.RequireReceiverに設定した場合、コンポーネントに該当するメソッドがない場合にエラーが表示されます。 このメッセージは非アクティブのゲームオブジェクトには送信されないことに気をつけてください(例えば、エディタのインスペクターや SetActive によって非アクティブにしている場合です)
// Calls the function ApplyDamage with a value of 5
gameObject.SendMessageUpwards ("ApplyDamage", 5.0);
// Every script attached to the game object
// that has an ApplyDamage function will be called.
function ApplyDamage (damage : float) {
print (damage);
}
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void ApplyDamage(float damage) { print(damage); } void Example() { gameObject.SendMessageUpwards("ApplyDamage", 5.0F); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def ApplyDamage(damage as float) as void: print(damage) def Example() as void: gameObject.SendMessageUpwards('ApplyDamage', 5.0F)