methodName | 要调用的方法的名称。 |
value | 方法的可选参数值。 |
options | 如果目标对象上不存在该方法,是否应该引发错误? |
在当前游戏对象中的每个 MonoBehaviour 以及该行为的每个祖先上调用名为 methodName
的方法。
接收方法可以通过具有零个参数来选择忽略参数。如果 options
参数设置为 SendMessageOptions.RequireReceiver,则当消息未被任何组件接收时会打印错误。
请注意,消息不会发送到非活动对象(即在编辑器中或使用 GameObject.SetActive 函数停用的对象)。
using UnityEngine;
public class Example : MonoBehaviour { void Start() { /// Calls the function ApplyDamage with a value of 5 SendMessageUpwards("ApplyDamage", 5.0); }
// Every script attached to this game object and any ancestor // that has a ApplyDamage function will be called. void ApplyDamage(float damage) { print(damage); } }