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

スクリプト言語

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

Component.SendMessage

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

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

パラメーター

methodName 呼び出すメソッド名
value 呼び出すメソッドに引数として渡すパラメーター
options 目的のオブジェクトにメソッドが実装されていない場合、エラーを発生させるかどうか

説明

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

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

このメッセージは非アクティブのオブジェクトには送信されないことに気をつけてください(すなわち、エディターや GameObject.SetActive 関数で非アクティブにしている場合です)

	// Calls the function ApplyDamage with a value of 5
	SendMessage ("ApplyDamage", 5.0);
	
	// Every script attached to the game object 
	// that has a 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() { SendMessage("ApplyDamage", 5.0F); } }