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
本文详细介绍了在Unity中如何使用gameObject.SendMessageUpwards()和gameObject.SendMessage()在子物体和父物体间进行消息传递。通过具体代码示例展示了如何从子物体向父物体发送消息,并在双方实现消息的接收。
&spm=1001.2101.3001.5002&articleId=101165381&d=1&t=3&u=280bd6aeef3642ab917b00952a08e69f)
7万+

被折叠的 条评论
为什么被折叠?



