using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class testTwo : MonoBehaviour {
string name = "king";
// Use this for initialization
void Start ()
{
//SendMessageOptions.RequireReceiver需要接受者,就是说方法method1必须要存在,不然就会报错;
//SendMessageOptions.DontRequireReceiver不需要接收者。方法不存在也不报错
//sendMessage 同一对象的不同脚本间互通消息,即使是私有方法也可以;name就是可以传递的参数
// transform.SendMessage("method",name,SendMessageOptions.RequireReceiver);
//broadcastMessage 可以向该脚本所挂物体和该物体的子物体(子物体的子物体……)发送另一脚本的指定方法(只有该物体和其子物体上有另一脚本);
// transform.BroadcastMessage("method",name,SendMessageOptions.DontRequireReceiver);
//sendmessageUpwards 可以向该脚本所挂物体和该物体的父物体(父物体的父物体……)发送另一脚本的指定方法(只要该物体和其父物体上有另一脚本)
transform.SendMessageUpwards("method",name,SendMessageOptions.DontRequireReceiver);
transform.SendMessage("method2",name,SendMessageOptions.DontRequireReceiver);
//在检测射线碰撞时也可以使用此方法,调用与射线碰撞的游戏物体身上的某一脚本的指定方法
//hit.collider.SendMessage("method",SendMessageOptions.DontRequireReceiver);
}
void method(string a)
{
print(a);
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class testThree : MonoBehaviour {
private void method() //不同脚本之间调用,sendmessage() 私有方法也可以被调用
{
print(21);
}
}