永发信息网

如何进行Unity3D与Android消息传递

答案:1  悬赏:40  手机版
解决时间 2021-11-09 18:41
如何进行Unity3D与Android消息传递
最佳答案
1.Unity工程导出为Android Studio工程
  (我个人用的U3D版本是5.1.1,已经支持直接将Unity工程导出为AS工程了,以前的版本我不敢保证.)

  首先你要写好Unity工程里面的脚本,包括你希望Android调用的方法和调用Android方法的方法,这个在下面会有详细叙述;接下来导出AS工程,方法是:
  File里面的Build Settings -> 平台选择Android,在Player Setting里面设置API版本和包名(包名很重要) -> 点击Build Setting中的Google Android Project复选框 -> Export

  2. AS打开导出的工程

  首先随便打开一个AS工程,然后FIle -> New -> Import Project -> 选刚才导出来的工程 -> 等待Gradle -> 以此工程为基础继续开发Android代码

  3. Android 调用 Unity 脚本中的方法

  这里首先对Unity脚本进行一点说明,以C#为例:
  在OnStart()里面要写入
  this.name = "A"

  某个你要调用的方法设置为public类型,名称为B,参数为C
  在一个Extend UnityPlayerActivity的Activity里,直接使用
  UnityPlayer.UnitySendMessage("A","B","C");
  就可以调用脚本中的方法了.

  4.Unity脚本调用Android方法

  首先你要知道的是,在Unity脚本里写调用安卓方法的时候,这个方法还不需要存在,你也不需要把安卓的代码压成jar包放进Unity工程.但是,你要调用的方法必须是静态方法.

  刚说过的导出工程时候的包名很重要,假设是com.zhihu.solare;再假设在工程被导入到AS后,你在这个包中编写了MainActivity.class,其中包含静态方法onCall(String str).则你可以在Unity脚本中提前写好:
  AndroidJavaClass jc = new AndroidJavaCalss("com.zhihu.solare.MainActivity");
  jc.callStatic("onCall","String")
  即可调用onCall方法.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《飞鸟集》你看不见你的真相,你所看见的只是
文胸4号杯,5号杯的区别
江淮瑞风s7 2.0t动力够用吗
无稽的稽是什么意思
中国 陕西 渭南穷吗
PHOTOSHOP怎么去除狗身上的黄毛
刚种过大葱的地晾晒一冬天,年后可以育葱苗吗
刚买的i6手机,手机该怎么充电
为什么做匀速圆周运动的时候
1至9的数如何相加组成三个19?
XX你一脸出自哪里?
whereis什么ruler?lcan"tfindit
我的高尔夫7在行驶途中为啥突然加油无力
红烧雪花鲳怎么做如何做好吃
五分之二加五分之三再乖十五(用简便计算)
推荐资讯
昆明鲜花店买哪家呢?
3sin a+4 cosa怎么化成 A sin(wx+φ)的形式?
请问胭脂鱼鱼苗供应有那些地方
痴人多梦是什么意思……
为什么市场上没有泰剧《彩虹月亮》这部戏,安
把一根长3米的竹竿垂直放入水池中,竹竿入泥
十月份出生的属龙的和八月份出生的属狗的婚姻
2016年9月初5,19.34分生的女孩子取名吴芷瑄
左耳右鬼读什么
淘宝卖家引流款怎么找
东风风行景逸suv的导行是不是原车就有的
依川晶图文设计中心地址好找么,我有些事要过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?