一、内置脚本通讯方法:
1. 同一个对象不同脚本之间的通讯
第一种方法:直接getcomponent调用
// script1 var connect : script2; function Start () { connect = GetComponent(script2);//得到script2 conect.Create();//调用script2的Create方法 } // script2 function Create() { GameObject.CreatePrimitive(PrimitiveType.Cube); }
将script1、2都挂到同一个物体,在屏幕中央创建一个cube
注意,两个脚本都必须绑定到同一个物体。
第二种方法:用sendmessage、BroadcastMessage、和SendMessageUpwards
这样一个场景,现在把两个脚本都绑在左边的cube上:
sendmessage.js如下:
function OnMouseEnter ()
{
gameObject.SendMessage ("hi");
}
changecolor.js如下:
function hi ()
{
renderer.material.color = Color.red;
}
当鼠标经过左边的cube,发现它变红了,
sendmessage只能在同一个物体上的不同脚本间通讯。
。。BroadcastMessage 给所有此物体子对象传递信息
如图,把另一个cube当做子对象,并给他挂上changecolor.js
sendmessage.js现在用BroadcastMessage:
function OnMouseEnter ()
{
gameObject.BroadcastMessage("hi");
}
2收到了信息
再加一个cube,changecolor里的方法颜色改成yellow就能这样:
SendMessageUpwards 是给父级传递信息,不再举例
不是教程,是笔记,待续