Unity 与 Android交互

来源:互联网 发布:知彼而知己 heu8 关闭 编辑:程序博客网 时间:2024/04/30 17:20

网上有很多关于这一方面的帖子,试了很多都是有问题的,可能是因为版本的原因,这里我写出关于现在unity版本的教程,希望对大家有所帮助,不需要走太多弯路。
环境要求:
1. unity3d 5.4.0f3
2. Android Developer Tools(Eclipse)

在开始之前,这里先说明一下,这篇教程没有太多技术上的东东,以操作为主,所以这里不会讲太多理论的知识。如果大家想要进行理论知识的补充,建议在操作成功以后,再去谷歌有关的资料,这样会更加明朗。祝大家学习愉快!!
开始啦~~~
1,首先新建android工程

这里写图片描述

给项目取名

这里写图片描述

next–>>

这里写图片描述

注意:这里最好勾选上,好处待会儿下面讲

这里写图片描述

这里写图片描述

这里写图片描述
**2,创建工程以后,我们需要把unity的工具包引用过来,在eclipes右键工程目录->build path->Add
External Archives选项。**

这里写图片描述

Unity工具包路径在
X:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes(x为盘符)目录下的classes.jar文件。

这里写图片描述

完成后,打开MainActivity类,把该类默认继承的Activity改成继承UnityPlayerActivity类,
然后把不要的代码去掉,如把onCreate函数里面的setContentView(R.layout.activity_main);删掉,并且把onCreateOptionsMenu函数删掉(如果你不需要的话)。
删掉以后长这样子:
这里写图片描述

3.我们写一些简单的测试代码,如下
这里写图片描述
保存以后eclips会自动生成编译好的jar包,在bin目录下面,这就是为什么上面需要勾选的原因
这里写图片描述
看,这个就是我们要的jar包,待会儿给unity使用
这里写图片描述
4.新建一个Unity3d工程,新建的过程这里就不介绍了。
在Assets目录下面新建一个Plugins文件夹,放插件用的文件夹,在Plugins目录下面新建一个Android文件夹,以后把安卓的东东会放到这里下面,目录长这样
这里写图片描述
5.然后要拷贝两个文件过来这里
①一个是刚刚的那个jar包。还记得在哪里吗?在eclipes的bin目录下面
②就是在你的unity3d安装目录里面的AndroidManifest.xml文件,路径是: x:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Apk(x是你的安装盘符)
我的路径是
这里写图片描述
其它两个文件夹不用理它
注意:这个千万不能用eclipes里面的,会报错.
两个拷贝完成后目录长这样
这里写图片描述
6.ok,现在我们要对AndroidManifest.xml进行简单的配置
这里写图片描述
如上图:
第一处要改成你自己的项目包名,包名在哪里找呢?就在创建项目时候取名字的时候的那个框
这里写图片描述
什么?没有注意看?那怎么办呢?没事,在代码里面到处都是,看这里
这里写图片描述
好,把包名填好了,上图的第二处就是填写你jar包的入口类。就是MainActivity.java类,记得要加上包名哦。
7.在unity方面,在写c#代码之前,我们还有一个地方要配置,就是android平台界面的配置,看下图
这里写图片描述
这里的包名要跟android的包名要一致才行哦。
8.好了,下面开始写c#测试代码了
在写代码之前我们先用UGUI在场景创建一个button和text,用于待会儿测试。
如下图所示:
这里写图片描述
然后,随便创建一个类,挂到场景的任意物体上,开始写代码了
这里写图片描述
在onClick函数里面加入了如下代码

AndroidJavaClass uintyPlayer = new ndroidJavaClass("com.unity3d.player.UnityPlayer");//参数必须为com.unity3d.player.UnityPlayerAndroidJavaObject currentActivity = uintyPlayer.GetStatic<AndroidJavaObject>("currentActivity");//参数必须为currentActivityvar result = currentActivity.CallStatic<int>("sum", new object[] { 1, 2 });textFile.text = result.ToString(); 

9,写完了以后进行打包,然后安装到android手机或虚拟机上进行测试
这里写图片描述
测试成功!!

0 0
原创粉丝点击