SendMessage的基本语法:
(1)public void SendMessage(string methodName)
(2)public void SendMessage(string methodName,object value)
(3)public void SendMessage(string methodName,SendMessageOptions options)
(4)public void SendMessage(string methodName,object value,SendMessageOption options)
------------------------------------------------------------------------------------------------------------------------------
参数介绍:methodName——信息处理的函数名称(SendMessage并非发送信息到该函数中)
value——发送的信息内容,该参数为object类型需要注意的是,在写发送信息函数时,函数中的参数类型需要匹配
options——发送信息的模式,该枚举SendMessageOptions有两个方式.RequireReceiver(信息接收方必须有接收信息方法)和.DontRequireRecevier(相反)
SendMessage(向自身发送信息)相关方法
(1)BroadcastMessage(向所有子类及自身发送信息)
(2)SendMessageUpward(向所有父类及其自身发送信息)
*都无法向同级的发送信息
实例展示
//向父类及其自身发送信息()
this.gameObject.SendMessageUpwards("GetFromChildren", gameObject.name + ": Use SendMessageUpwards send!");
//向子类及其自身发送信息
this.gameObject.BroadcastMessage("GetFromParents", gameObject.name + ": Use BroadcastMesssage send!");
//向自身发送信息
this.gameObject.SendMessage("GetFromSelf", gameObject.name + "Use SendMessage send!");
}
private void GetFromChildren(string str)
{
Debug.Log(gameObject.name + "接收子类及其本身发送信息!" + str);
}
private void GetFromParents(string str)
{
Debug.Log(gameObject.name + "接收父类及其本身发送信息!" + str);
}
private void GetFromSelf(string str)
{
Debug.Log(gameObject.name + "接收其本身发送信息!" + str);
}