unity中C#脚本和Java脚本怎么互相调用

如题所述

Unity调用安卓脚本:
unity端
//通过报名获取java class
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

        //获取当前的activity
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
string str="要传送的数据";
        //调用activity里面的方法,传入方法名和参数
         jo.Call("AndroidMethod", str);

在android端启动unity场景的那个activity代码中加上:

public void AndroidMethod(String str)
{
    Toast.makeText(context,"android已收到:"+str,Toast.LENGTH_SHORT).show();
}

安卓调用Unity脚本:

String str="my android message";
//Directional light为挂了脚本的游戏物体
UnityPlayer.UnitySendMessage("Directional light","ReceiveMsg",str);

unity端新建一个脚本,挂在场景的Directional light上,

public void ReceiveMsg(string str)
{
    print("unity收到:"+str);
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答