SendMessage 为unity自带的脚本通信技术,使用方便。
gameobject.SendMessage(方法名,参数,提示信息);
方法名:需要接收消息gameobject挂载脚本上的方法名,无视访问权限。
参数:object类型,单值,多值传数组,同理接收方参数列表页应为数组。
//参数注意事项:就算没有对应参数列表的方法,还是会调用同名的方法,所以SendMessage不是寻找函数签名,只是寻找函数名
提示信息为枚举类型:
SendMessageOptions.DontRequireReceiver
SendMessageOptions.RequireReceiver //没有脚本接收会抛出异常
提示信息可以省略不写,默认为RequireReceiver。
SendMessage还有两个同类型方法
BroadcastMessage,SendMessageUpwards。
用法相同只是作用范围不同
BroadcastMessage自身脚本以及子物体挂载的脚本。
SendMessageUpwards自身脚本以及父物体挂载的脚本。
知道这些就可以使用SendMessage技术进行脚本通信了。