首页 > 代码库 > Unity 关于SendMessage的用法

Unity 关于SendMessage的用法

【Message相关有3个函数】

一、功能:用于向某个GameObject发送一条信息,让它完成特定功能。

1、执行GameObject自身的Script中“函数名”的函数
SendMessage ("函数名",参数,SendMessageOptions) 

2、执行自身和子节点GamgeObject的Script中“函数名”的函数
BroadcastMessage ("函数名",参数,SendMessageOptions) 

3、自身和父节点GamgeObject的Script中“函数名”的函数
SendMessageUpwards ("函数名",参数,SendMessageOptions) 

补充说明:本质就是调用那个GameObject里面的Script里面的函数,可以跨语言的,例如Javascript可以调用C#的函数。
如果GameObject本身有两个脚本,例如“Move1.c#”和“Move2.js”,两个脚本内有同名函数例如“DoMove()”,会两个函数都执行一次。

二、SendMessageOptions参数:

1、如果没有找到相应函数,会报错(默认是这个状态)
SendMessageOptions.RequireReceiver 

2、即使没有找到相应函数,也不会报错,自动忽略
SendMessageOptions.DontRequireReceiver 

Unity 关于SendMessage的用法