学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。 发送广播与消息 在游戏对象之间使用广播传递消息是游戏对象之间互动的一种快捷的方式 主要是通过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发送消息并输出至控制台 |
|