gameObject.SendMessageUpwards() 和 gameObject.SendMessage()适合在子物体和父物体进行消息的传递。
比如 AA物体是BB物体的子物体。
AA物体上的脚本
void Start () { gameObject.SendMessageUpwards("ReviceMsgTest", 5.0, SendMessageOptions.RequireReceiver); //发送信息,子物体的ReviceMsgTest放进进行接收 参数二:方法ReviceMsgTest的参数 参数三:发送的方式(要求对方是否必须有ReviceMsgTest方法的存在, SendMessageOptions.RequireReceiver和 SendMessageOptions.DontRequireReceiver) } // Update is called once per frame void Update () { } public void ReviceMsgTest(float value) { Debug.Log("子物体接收到的值:" + value); }
BB物体上的脚本
// Use this for initialization void Start () { } // Update is called once per frame void Update () { } public void ReviceMsgTest(float value) { Debug.Log("父物体接收到的值:"+value); }
运行之后Console窗口会打印
子物体接收到的值:5.0
父物体接收到的值:5.0