博客列表 >Unity3d物体间消息的发送与接收GameObject.BroadcastMessage

Unity3d物体间消息的发送与接收GameObject.BroadcastMessage

龍__遇见彩虹的博客
龍__遇见彩虹的博客原创
2017年11月25日 13:01:492026浏览

官方文档:

public void BroadcastMessage(string methodName, object parameter = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);


Description:

Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

The receiving method can choose to ignore parameter by having zero parameters. If options is set to SendMessageOptions.RequireReceiver an error is printed when the message is not picked up by any component.

using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
    void ApplyDamage(float damage) {
        print(damage);
    }
    void Example() {
        gameObject.BroadcastMessage("ApplyDamage", 5.0F);
    }
}



实际应用:

创建一个空物体,然后挂一个脚本。

       public GameObject tarGet;//发送信息的物体
    void Start()
    {
        tarGet.BroadcastMessage("sendMessages", "怪物", SendMessageOptions.DontRequireReceiver);
    }

再创建一个空物体用作发送信息的物体,挂另一个脚本。

    private void sendMessages(string str)
    {
        Debug.Log(str + " is sendMessage!");
    }

控制台输出信息:

怪物 is sendMessage!


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议