Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

GameObject.SendMessage

マニュアルに切り替える
public void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
public void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
public void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);

パラメーター

methodName 呼び出すメソッドの名前
value 呼び出すメソッドに渡す値
options ターゲットのオブジェクトにメソッドが存在しない場合、エラーを発生させるかどうか

説明

ゲームオブジェクトにアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します

メソッドの実行時に引数の数を 0 にすることによって渡される引数の値を無視することができます。 options が SendMessageOptions.RequireReceiver に設定した場合、コンポーネントに該当するメソッドが存在しない場合はエラーが発生します。

このメッセージは非アクティブのゲームオブジェクトには送信されないことに気をつけてください(例えば、エディターのインスペクターや SetActive によって非アクティブにしている場合です)

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void ApplyDamage(float damage) { print(damage); } void Example() { gameObject.SendMessage("ApplyDamage", 5.0F); } }