Unity 脚本间的参数传递 ---- SendMessage

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版权协议,转载请附上原文出处链接和本声明。