分享

Unity脚本----09 发送广播与消息

 雪柳花明 2016-04-08

学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。

发送广播与消息

在游戏对象之间使用广播传递消息是游戏对象之间互动的一种快捷的方式

主要是通过GameOject.SendMessage(String methodName,object value=null,SendMessageOptions options=SendMessageOptions.Requirereceiver)函数发送的

方法是想该游戏对象上的所有MonoBehavior脚本发送消息

第一个参数是消息的名称,所有所有MonoBehavior脚本里与该名称同名的方法将被调用

第二个参数是向该方法传递的参数

第三个参数是是否必须有接受方法的选项,一般选不要求接受方法即可

实例

新建一个场景,新建一个游戏对象并命名为Sender,添加脚本C_3_5_4,新建游戏对象命名为receiver并添加脚本C_3_5_4_2,最后将Sender脚本的receiver指定为Receiver对象

复制代码
using UnityEngine;
using System.Collections;

public class C_3_5_4_1 : MonoBehaviour {
    public GameObject receiver;
    void Start () {
        //向本脚本所属的游戏对象发送ShowNumber消息并传递参数100
        receiver.SendMessage("ShowNumber",100,SendMessageOptions.DontRequireReceiver);
    }
}
复制代码
receiver是要传递消息的物体,receiver上有脚本C_3_5_4如下
复制代码
using UnityEngine;
using System.Collections;

public class C_3_5_4_2 : MonoBehaviour {
    //消息发送后,ShowNumber函数被自动调用
    void ShowNumber(int number)
    {
        Debug.Log("收到的数字是"+number);
    }
}
复制代码

运行场景,Sender成功向Receiver发送消息并输出至控制台

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多