unity android 带两个参数,Unity和Android相互通信

目前大家看到大多数Unity与Android通信的教程,可能使用的不是最新版的Unity,或者是用Eclipse配置Android,为此本文就详细和大家介绍下android studio创建的Android工程在unity实现相互通信。

需要安装的软件:Android Studio、Unity

一、开启Android的一个工程,点击File下新建如下图所示New Module。

ecaffb188a99c64e3e474dfe6849a4cf.png

二、选择Android Library。

32f13ccb8a40b72cab12f3d6a6aca43f.png

三、为Library命名,在这里我命名为BmobPay。

a8126b82cc2ae79cd9a2fdfb0879940b.png

四、选中如下图的两个。xml文件,右键选择点击delete,删除。

6e71afcf18ee95e148a20f5fd39cb1ee.png

五、安装unity,在unity的安装目录下,找到以下图文件路径,复制classes.jar文件

65d4e9061b3869762ee57306c8be517e.png

六、将上个步骤的classes.jar文件粘贴到Project视图下的如下图libs文件下,点击右键选择add as library。

3ef7e816757dc987ce14ad760bac5fd0.png

七、打开MainActivity.java文件,按如下图修改删除

package com.liujunliang.bmobpay;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import com.unity3d.player.UnityPlayer;

import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// setContentView(R.layout.activity_main);

//unity将会调用addNumber函数

public int addNumber(int a,int b)

//与unity通信,调用untiy的方法

//参数一:挂件游戏对象

//参数二:挂件函数方法名

//参数三:函数方法参数

UnityPlayer.UnitySendMessage("Main Camera","PrintText","http://www.liujunliang.com.cn");

return a+b;

f821186fa65fc5d3bca18888976a89b8.png

八、修改该文件的父类,继承于UnityPlayerActivity。

8c4fef27f3610f23214a7b62618594d9.png

九、之后运行该模块,选择Build,按如下图选择运行。

6e0c1024960dbeb46c040635d4e643fd.png

十、运行完成之后,将生成debug文件,按下图路径找到bundles,右键选择点击Show in Explorer。

624b95a9b822432b6ef74deade144103.png

十一、将弹出文件管理,进入该目录下的libs文件夹。

8137d33a28ca71fa5e2e7519c2c1fefa.png

十二、该目录的classes.jar是之前我们在unity里加入的jar包文件,右键选择删除删除。

2b4abbefcd386ecf95846d0b839edc87.png

十三、将如下图的classes.jar文件添加到libs文件夹下,这里的classes.jar文件时运行后android studio的jar包文件。

9499ffafbe6e5eebd0eb6c9ba4180a86.png

十四、这是开启unity创建一个工程,在工程的如下图目录下创建如下图所示的目录。

c2ec5254794f205ee6efe2b51bef0240.png

十五、按如下图选择三个文件拖动到Android目录下。

641335ef149a869d2ffa2f056a429c3f.png

十六、创建一个C#脚本组件,这里我命名为UnityCallAndroid,并将这个组件挂在到Main Camera游戏对象中。

UnityCallAndroid.cs

using UnityEngine;

using System.Collections;

using UnityEngine.UI;

public class UnityCallAndroid : MonoBehaviour {

public Text text;

// Use this for initialization

void Start ()

public void OnClicked()

#region 调用安卓工程函数

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

AndroidJavaObject AJO = AJC.GetStatic ("currentActivity");

int result = AJO.Call ("addNumber",10,30);

text.text += result.ToString ();

#endregion

// Update is called once per frame

void Update ()

#region Android工程调用unity方法

public void PrintText(string str)

text.text += str;

#endregion

891a842a4333ce4e8a6f1819352b7e67.png

十七、选择unity的File中的Build Settings,弹出如下图对话框。

ead91ae8540e3989bc66b7c8912d38a1.png

十八、找到如下图的Bundle Identifier 对内容进行修改。

68de7a6c93e00f7d4e7bb936e4fd5139.png

十九、回到android工程如下图的。xml文件,复制。

c533a0c72d7becaa38ba982e6bf58c87.png

二十、粘贴。

796f3329a681a1709e2a6c349c2d03e5.png

二十一、使用usb线连接android手机,如果点击Build And Run,Build完成后将自动在安卓手机开启运行。

ce7a8d85dc659a8d184456b7358d8fee.png

倘若选择Build可以不用连接安卓手机,自行手动发送到手机进行检测。

二十二、在这里使用360手机管家了演示结果,开启项目。

c20a013acf3bf3a5f9833922b691f97d.png

二十三、在这里就大功告成了,点击按钮,将显示调用android方法结果以及android调用unity方法结果。

97c22e84a45799d4da7eb373e67ae1e8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值