unity调用其它脚本函数方法

1、单例 instance

2、静态公有函数,用类名.函数名()调用

public class Test2 : MonoBehaviour
{
    public static void HH()
    {
        print("hhhhh");
    }
    public static int Add(int x,int y)
    {
        print(x + y);
        return x + y;
    }
}
========================================================
//调用
public class Test3 : MonoBehaviour
{
    void Start()
    {
        Test2.Add(5, 6);
        Test2.HH();
    }
}

3、GameObject.Find搜索对象,然后GetComponent脚本和方法

public class Test2 : MonoBehaviour
{
       public void Getid()
    {

    }
}

=======================================================
//调用
GameObject.Find("写挂在Test2脚本的对象名称").GetComponent<Test2>().Getid();

4、GameObject.Find搜索对象,然后SendMessage(函数名)

public class Test2 : MonoBehaviour
{
    public void Getid()
    {
        print("Getid");
    }
}

================================================================
//调用
GameObject.Find("挂载到有Getid方法的对象名称").SendMessage("Getid", SendMessageOptions.DontRequireReceiver);


//SendMessageOptions.RequireReceiver //如果没有找到相应函数,会报错(默认是这个状态)
//SendMessageOptions.DontRequireReceiver //即使没有找到相应函数,也不会报错,自动忽略

//SendMessage仅向指定对象的所有脚本推送消息
//SendMessageUpwards向指定对象和它的所有父物体推送消息
//BroadcastMessage向指定对象和它的所有子物体推送消息

5、最简单的方法 public 脚本名称 名字

 调用

猜你喜欢

转载自blog.csdn.net/m0_73841296/article/details/131195143