消息传递函数
欢迎大家光临我的博客!
欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。
消息传递函数:
GameObject.SendMassege:向自身的脚本发送消息
//调用本级别所有的GameObject上所有脚本的methodName方法
SendMessage (methodName : string, value : object = null, options : SendMessageOptions = SendMessageOptions.RequireReceiver)
methodName为方法名,value为方法的参数,options表示是否必须有对象接收该消息(如果是,且没有对象接受,u3d报错);object: Unity所涉及所有物体的基类。
//朝本级别和上级父节点发送调用命令
GameObject.SendMassegeUpwards;向自身和父物体脚本发消息
//目标是本级别和全部子节点
GameObject.BoardcastMessage;向自身和子物体脚本发消息
实例:
Sphere(子):
void Start () {
gameObject.SendMessageUpwards ("Do","向父对象发出信息");
}
Cube(父):
void Do(string message){
print (message);
}
1. 查找父节点 transform.parent
2. 查找子节点 transform.Find("name"); transform.Find("Arm/Hand/Finger"); 没有找到会返回null,名字如果包含"/"字符将像路径一样穿越层次
3. 查找场景中的其他GameObject
GameObject.Find 从Scene下开始查找,根据GameObject的名字进行查找,允许使用"/"穿越层次查找,
GameObject.FindWithTag根据Tag查找一个GameObject,
GameObject.FindGameObjectsWithTag 根据Tag批量查找GameObject
GameObject的name和Tag可以直接设置,但Tag需要在标签管理器先定义一个Tag,这个Tag才可用,你不能将一个未定义的Tag赋给GameObject的Tag变量
最后还有一种搓搓的通讯方法,通过Message来调用其他GameObject,默认是垃圾短信群发,也可以将一个Object穿进去,然后调它的方法
methodName为方法名,value为方法的参数,options表示是否必须有对象接收该消息(如果是,且没有对象接受,u3d报错)
//调用本级别所有的GameObject上所有脚本的methodName方法
void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
//朝本级别和上级父节点发送调用命令
void SendMessageUpwards(...)
//目标是本级别和全部子节点...
void BroadcastMessage(...)
调用Object的Destroy方法可以销毁一个GameObject,组件,或者资源。这是一个静态方法,函数的原型为 static void Destroy(Object obj, float t = 0.0F );
可以通过将this传入,销毁自己。
喜欢我的博客请记住我的名字:Rocket,我的博客地址是
http://unity.gopedu.com/home.php?mod=space&do=blog&view=me
转载请注明出处,本文作者:Rocket,本文出处:
http://unity.gopedu.com/home.php?mod=space&do=blog&view=me
更多精彩请点击:http://unity.gopedu.com/