Android与unity交互

最近项目需要Android与Unity进行交互工作,下面谈谈自己的经验,希望对大家有所帮助.

一.Unity向Android主动交互

比如在Unity中我们需要调用某个函数,代码如下:

 
//例子

 AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");

 AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject> ("currentActivity");
        
 jo.Call ("login","");

//当然也可以如下:调用android静态函数

new AndroidJavaClass("包名").CallStatic("函数名", new object[0]);

这样我们就可以在Unity中调用Android的函数了,也可以传参,这里我只做个引子,大家可以以此作为扩展.

二.Unity向Android主动交互

这里同样以.UnitySendMessage作为引子向大家介绍.


//这里要说明一下,UnitySendMessage的第一个参数是unity控件的名字,

 // 第二个参数是方法名

  //第三个参数是要传递的参数而且只能传递一个参数

  ->对象.UnitySendMessage("", "", "");

需要注意的是:

1.第一个参数是unity控件的名字,我们有时候不好找怎么办,这里可以提供一个小技巧

//正如Android一样,Unity同样有自己的生命周期,在这里我们可以给该控件命名

//方便我们进行交互,需要注意的是有些类可能无效,要具体分析

void Start () {

    this.name = "";
}

2.第三个参数只能传递一个参数,不过我们可以灵活点,可以传个串数据,在Unity中做一些分割工作.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章