简单介绍
有一些手机功能。Unity没有提供对应的接口。比如震动,比如不锁屏,比如GPS。比如...
有太多的特殊功能Unity都没有提供接口。这时候,我们就须要通过使用Android原生的ADT编辑器去编写Java代码,然后打包jar导入到Unityproject。然后通过Unity提供的调用Android接口的函数去调用jar包中的函数就可以。
这里我们就介绍一下使用Unity实现手机震动效果
实现内容简要说明:
1. Android提供jar文件,xml文件。res文件夹,libs文件夹
2. 通过AndroidJavaClass去调用Android函数
另外,这些功能仅仅能在真机上执行!
详细实现:
Android部分
1.下载AndroidSDK(须要包括ADT编辑器的)
官方下载连接:http://developer.android.com/sdk/index.html
2 创建Android项目
菜单位置:File ->New->Android Application Project
创建过程中,仅仅有一下这个界面的内容须要更改,其它的使用默认的即可
生成后解决方式的文件夹如图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHZfbHkxNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="border:none; max-width:100%">
当中MainActivity就是我们须要编辑的java文件了
3. 导入Unity相关jar
Jar文件夹:unity的安装路径\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
通过AddExternalArchives加入。如图:
4. 导入jar后。就能够開始编辑相关的函数了。打开MainActivity
加入unityActivity。使MainActivity继承UnityPlayerActivity。并把SetContentView函数删掉(不然到手机上启动程序的时候就会仅仅看到一句HelloWorld)。这里用一个比較函数Max作为样例,有參数。有返回值
5. 到这里。须要的函数已经写完,再改动一下xml文件
Xml文件在project文件文件夹下,叫AndroidManifest.xml
6. 接下来到处jar包
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHZfbHkxNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" style="border:none; max-width:100%">
点击Export后选择Java文件夹下的Jar file,选择好路径之后按默认选项去到处jar文件就可以
7. 到这里Android部分结束了
Unity部分
1. 设置PlayerSetting,要与Android的package相应上
2. 在Assets文件夹下加入Plugins\Android文件夹,把Android的jar文件,res文件夹,libs文件夹。xml文件放入该文件夹
3. 调用相关函数
(注意:之所以这里的参数的初步了解,以填补”com.unity3d.player.UnityPlayer”和”currentActivity”。它是由于代jar当文件,它已被指定MainActivityclass承受UnityPlayerActivity。也XML指定MainActivity它是Main class)