Unity 脚本间的参数传递
网上较为普遍的是用 SendMessage 来传递参数,但是都写的不太清楚。
SendMessage 是GameObject自带的一个函数,能够将同类参数传给 GameObject下的同类组件。脚本作为一个组件,参数也能传递。
因为是GameObject的函数,所以要先定义GameObject 的Instance,或者也可用GameObject.Find(“实例名称”) 来找到对应的实例。下图中的“DeviceStatus” 即是一个实例名称。
假设要在一个已触发的脚本中将参数传递给这个游戏实例对象,这里假定DeviceStatus 对象下的脚本名为 “IP.cs”,那么GetComponent后的尖括号中就应该是脚本名字 “IP”,随后再是SendMessage(“函数名”,值)
GameObject.Find("DeviceStatus").GetComponent<IP>().SendMessage("setIP",IPAdd);
在 IP.cs 中设定一个函数用来定义值。
void setIP(string ip)
{
IP = ip;
}
传递的对象似乎一次只能传一个变量,因此可以将多个变量打包进一个数组进行传递。
版权声明:本文为weixin_43988842原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。