IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> AndroidStudio2020打Arr包给Unity2020使用 -> 正文阅读

[游戏开发]AndroidStudio2020打Arr包给Unity2020使用

Android studio部分

创建一个Android工程

?

??创建一个lib模块

?

创建一个java类

将以下代码copy到java类中

package com.defaultcompany.libforunity;
import android.app.Activity;
import  android.widget.Toast;

public class PluginInstance {

    public int Add(int i,int j){
        return  i+j;
    }

    private static Activity unityActivity;

    public static void  receiveUnityActivity(Activity tActivity){
        unityActivity=tActivity;
    }

    public void Toast(String msg){
        Toast.makeText(unityActivity,msg,Toast.LENGTH_SHORT).show();
    }
}

build module

?

build 成功之后在libforunity下的build-output-aar中找到对应的aar包,准备导入unity;

??

?Unity部分

创建unity工程

创建一个测试脚本TestP.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TestP : MonoBehaviour
{
    public Text t;

    AndroidJavaClass unityClass;
    AndroidJavaObject unityActivity;
    AndroidJavaObject _pluginInstance;
    // Start is called before the first frame update
    void Start()
    {
        InitalizePlugin("com.defaultcompany.libforunity.PluginInstance");
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    void InitalizePlugin(string pluginName)
    {
        unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        unityActivity = unityClass.GetStatic<AndroidJavaObject>("currentActivity");
        _pluginInstance = new AndroidJavaObject(pluginName);
        if (_pluginInstance ==null)
        {
            Debug.Log("Plugin Instance Error");
        }
        _pluginInstance.CallStatic("receiveUnityActivity", unityActivity);
    }

    public void Add()
    {
        if (_pluginInstance !=null)
        {
            var result = _pluginInstance.Call<int>("Add", 5, 6);
            //Debug.Log("Add Result from Unity:" + result);
            t.text = "Add Result from Unity:" + result;
        }
    }

    public void Toast()
    {
        if (_pluginInstance!=null)
        {
            _pluginInstance.Call("Toast","Hi from Unity");
        }
    }
}

场景中创建两个button ,一个text,并将button事件与脚本绑定,text也绑定给脚本

?将Androidstudio的aar包导入到unity

?上面创建lib库用的minSDK为23,所以将unity的minSDK也改的要不小于23

?

build and run?

?

觉得有帮助到你的话,给博主一个赞+关注呗。?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:55:11  更:2022-07-17 16:55:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:09:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码