想要用Unity实现一个二维码扫描的功能,然后网上找插件,找到一个貌似叫EasyCodeScanner,但下载下来用用,真不好使,一导入运行就报错,调好错了再运行发现点按钮没反应,反复试了几遍发现还是没反应,没办法看源码,结果发现只实现了IOS部分,没有Android部分,我屮艸芔茻...,神伤!用IOS真机测试吧,还是有问题,果断放弃了,下定决心自己动手丰衣足食,虽然不了解Android,但没有学不起来的,只要想,就没有实现不了的!!!首先还是得学习一下Android和Unity的简单交互,在这儿写个详细点的教程!供初学者学习,当然网上也有这方面的教程,有的地方不注意的话,还是会碰到困扰的,下面是详细步骤!更多教程敬请关注我的微博! 效果:这里展示的Unity调用Android原生的方法实现点击Unity界面中的按钮,然后实现手机的震动!关于最基本的交互,可以参考这篇文章,Unity与Android基本交互,然后在这基础之上来做实现手机震动,其实也差不多!可能重复了,当自我巩固吧,呵呵! 测试方法:必须要真机测试!!!实现步骤:一、创建Android工程1.创建工程
2.导入Unity相关jarJar目录:unity的安装路径\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
3.打开MainActivity.java,导入各种包,编写自己的函数[java] view plaincopyprint?
4.修改XML并且添加震动权限添加允许震动的权限,选择AndroidManifest.xml,然后点击Permissions->Add UserPermission->android.perssion.VIBRATE。 5.导出jar包在项目根目录上右击->Export
点击Finish结束! 二、创建Unity工程1.在Assets下创建Plugins/Android文件夹,这个文件夹是特殊文件夹,专门用与存放Android的包文件,以便调用Android接口将文件的xml,jar,res,libs文件放在Android文件下
2.写Unity调用Android代码[csharp] view plaincopyprint?
(注:初步了解这里的参数之所以填”com.unity3d.player.UnityPlayer”和”currentActivity”,是因为在生成jar文件的时候,已经指定了MainActivityclass继承UnityPlayerActivity,也在XML指定了MainActivity是Main class) activity.Call<int>("","");这个调用的是有返回值的方法,int是返回类型,activity.Call("");调用的是没返回值没参数的方法
3.导出设置(Importent)
4.真机测试我就不上传截图了,大概就是一个按钮,能够点击使手机震动,还有一个label,显示10和20比较的结果值。
更多教程欢迎关注 微博 |
|
来自: kiki的号 > 《unity与android的交互》