当前位置: 首页 > news >正文

国内网站开发不用wordpress个性化的个人网站简易

国内网站开发不用wordpress,个性化的个人网站简易,土木工程网官网,asp 大型网站开发这是一篇2021年的存档#xff0c;使用Unity2020版本。 至今#xff0c;Unity与AS很多通讯方式也是基于此衍生。 作为Unity与AS联合开发的受益者#xff0c;难得掏出自己的饭碗#xff0c;诸君共享#xff01; Unity Android Studio 联合开发快速入门 ——Unity与AS… 这是一篇2021年的存档使用Unity2020版本。 至今Unity与AS很多通讯方式也是基于此衍生。 作为Unity与AS联合开发的受益者难得掏出自己的饭碗诸君共享 Unity Android Studio 联合开发快速入门 ——Unity与AS之间的互相调用实战指南 在移动开发中Unity 常常用于快速构建跨平台的 3D/2D 应用而 Android StudioAS则是调用 Android 原生功能的利器。为了结合二者的优势我们需要掌握 Unity 与 AS 的互相调用方式。本文将从环境配置开始逐步讲解 Unity 调用 Android 方法、AS 调用 Unity 方法以及实际的通信示例。 文章目录Unity Android Studio 联合开发快速入门一、Unity 环境配置1. 开发模块2. 开发平台3. 环境配置二、Visual Studio 配置方式1Unity Hub 中勾选方式2手动配置 Visual Studio先决条件安装 Visual Studio Tools for Unity检查更新配置 Unity 使用 VS三、Unity 调用 AS 导出的 aar1. AS 导出 aar2. Unity 导入 aar3. 编写脚本与绑定4. 调试与运行5. 运行结果四、AS 调用 Unity 导出的工程1. 示例脚本2. 导出 Android 工程3. 调用方式4. 常见问题五、Unity 与 AS 互相调用1. Unity 调用 AS方式1继承 UnityPlayerActivity方式2调用静态方法方式3调用非静态方法 / 单例模式2.AS 调用 Unity方式1UnitySendMessage方式2使用 AndroidJavaProxy 实现回调通信3. Unity 调用 Android Toast 示例Unity 直接调用 Android APIUnity 调用 AS 中的 Toast总结一、Unity 环境配置 1. 开发模块 打开 Unity Hub → 安装 Unity 版本 → 添加模块时勾选 Android Build Support。 2. 开发平台 在 Unity 编辑器中切换到 Android 平台 File → Build Settings → Android → Switch Platform。 3. 环境配置 进入 Edit → Preferences → External Tools确认 JDK、SDK、NDK 路径正确。 注意 Unity 版本兼容性例如 Unity 2020 LTS 仅支持 JDK 1.8NDK 19.0.523213 二、Visual Studio 配置 方式1Unity Hub 中勾选 安装 Unity 时直接选择 Visual Studio 组件。 方式2手动配置 Visual Studio 先决条件 确保已通过 Unity Hub 安装 Unity。 安装 Visual Studio Tools for Unity 打开 Visual Studio Installer。选择安装或修改现有版本。在 工作负载 中勾选 使用 Unity 的游戏开发。 检查更新 帮助 → 检查更新保持 VS 最新确保 bug 修复与 Unity 支持。 配置 Unity 使用 VS Unity → Edit Preferences External Tools。在 External Script Editor 中选择 VS。如未列出可手动选择 devenv.exe。勾选 Editor Attaching保证调试可用。 三、Unity 调用 AS 导出的 aar 1. AS 导出 aar 在 AS 中编写 Java 方法。 执行 Gradle 构建clean → assemble。 aar 生成路径build/outputs/aar/。 2. Unity 导入 aar 将 aar 文件放入 Assets/Plugins/Android/ 目录下即可直接在 C# 中访问。 3. 编写脚本与绑定 在 Unity C# 脚本中调用 aar 方法。 将脚本挂载到场景对象如 Main Camera。 4. 调试与运行 使用 Attach to Unity 调试。 注意PC 模拟时返回值可能与 Android 不同如布尔值。 * 构建 APK在手机开启开发者模式后运行测试。 5. 运行结果 场景启动时调用 aar 方法例如调用 showToast() 在手机端显示 Toast。 四、AS 调用 Unity 导出的工程 1. 示例脚本 在 Unity 中编写 C# 脚本供 Android 调用。 2. 导出 Android 工程 Unity → Build Settings → Export Project。 导出的文件目录如下 3. 调用方式 AS 直接导入用 AS 打开导出的工程直接运行。 作为依赖模块导入仅导入 unityLibrary 模块集成到现有 AS 工程。 修改安卓清单和gradle配置 该模块主要有一个UnityPlayerActivity这是Unity官方提供的它默认是全屏加载Unity工程导出的场景注意这是个示例因此可以自定义修改它。 4. 常见问题 找不到 so检查 gradle 是否配置 abiFilters。 由于习惯了如此引用因此将内容修改如下图 找不到 aar检查 dependencies 配置确认项目级 gradle 是否包含仓库地址。 检查gradle文件中dependencies 检查工程的gradle不是模块的gradle是否有如下配置最新的AS创建的工程创建后没有如下内容 模块的gradle中添加如下内容 五、Unity 与 AS 互相调用 1. Unity 调用 AS 方式1继承 UnityPlayerActivity Android 端继承 UnityPlayerActivityUnity 通过 AndroidJavaObject 调用。 unity代码 AndroidJavaClass jc new AndroidJavaClass (com.unity3d.player.UnityPlayer); AndroidJavaObject jo jc.GetStaticAndroidJavaObject (currentActivity); jo.Call (login,这里是传过去的参数);Android代码 package com.example.test;public class MainActivity extends UnityPlayerActivity {public void login( String str ) { }方式2调用静态方法 Unity 端 AndroidJavaClass jc new AndroidJavaClass(com.example.test.Test); jc.CallStatic(login, 参数);Android 端 public class Test {public static void login(String str) { ... } }方式3调用非静态方法 / 单例模式 Unity 通过 AndroidJavaObject 调用实例方法或先调用静态方法获取单例再调用非静态方法。 unity代码 AndroidJavaObject jo new AndroidJavaObject(com.example.test.Test); jo.Call(login,); Android代码 package com.example.test;public class Test{public void login( String str ) { }2.AS 调用 Unity 把消息发送给Unity场景中指定物体上的指定方法 UnityPlayer.UnitySendMessage(“物体名称”, “方法名称”, 参数); 实例 方式1UnitySendMessage UnityPlayer.UnitySendMessage(GameObjectName, MethodName, 参数);方式2使用 AndroidJavaProxy 实现回调通信 与 UnitySendMessage 通过字符串传递消息不同AndroidJavaProxy 提供了一种更稳定、更结构化的通信方式。它允许 Unity 实现 Android 端定义的接口并将接口实现作为回调传递给 AS从而实现双向通信适合复杂场景。 步骤如下 1. 在 AS 端定义接口 先在 Android 工程中编写一个接口接口方法将作为回调被 Unity 实现。 package com.example.test;public interface UnityasrEventCallback {void Speechcontent(int a);void Test1(String msg); }2. 在 Unity 端实现该接口 在 Unity 中创建一个 C# 脚本定义一个类继承 AndroidJavaProxy并在构造方法中指定 AS 端接口的“包名接口名”。然后实现接口中定义的方法。 public class AsrEventCallback : AndroidJavaProxy {// 构造方法中传入 AS 端接口的完整类名public AsrEventCallback() : base(com.example.test.UnityasrEventCallback) { }// 实现接口中的方法public void Speechcontent(int content){int a content;Debug.Log(收到来自AS的整型回调: a);}public void Test1(string msg){string b msg;Debug.Log(收到来自AS的字符串回调: b);} }3. 在 Unity 中注册回调 在合适的生命周期方法如 Start()中将 AndroidJavaProxy 实例传递给 AS 的方法如 setCallback。 void Start() {AndroidJavaClass jc new AndroidJavaClass(com.unity3d.player.UnityPlayer);AndroidJavaObject jo jc.GetStaticAndroidJavaObject(currentActivity);// 创建代理实例AsrEventCallback asrEventCallback new AsrEventCallback();// 将代理传递给 ASjo.Call(setCallback, asrEventCallback); }这样AS 端只要调用 mCallback.Test1(xxx) 或 mCallback.Speechcontent(123)就能触发 Unity 端的对应方法实现回调通信。 3. Unity 调用 Android Toast 示例 Unity 直接调用 Android API AndroidJavaClass jc new AndroidJavaClass(com.unity3d.player.UnityPlayer); AndroidJavaObject jo jc.GetStaticAndroidJavaObject(currentActivity); AndroidJavaClass toast new AndroidJavaClass(android.widget.Toast); AndroidJavaObject context jo.CallAndroidJavaObject(getApplicationContext);jo.Call(runOnUiThread, new AndroidJavaRunnable(() {toast.CallStaticAndroidJavaObject(makeText, context, Hello from Unity, toast.GetStaticint(LENGTH_SHORT)).Call(show); }));Unity 调用 AS 中的 Toast Unity 调用 jo.Call(testToast, 吐司);AS 端 public void testToast(final String msg) {runOnUiThread(() - Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show()); }总结 本文完整介绍了 Unity 与 Android Studio 互相调用的实现方式 Unity 环境与 VS 配置Unity 调用 AS aarAS 调用 Unity 工程双向通信方案UnityPlayerActivity、静态方法、UnitySendMessage、AndroidJavaProxy实际示例Toast 调用 通过这些方法开发者可以在 Unity 中调用 Android 原生能力同时让 Android 端灵活调用 Unity 的逻辑实现高效的跨平台应用开发。
http://www.zqtcl.cn/news/989739/

相关文章:

  • 网站访问速度优化工具网页设计模板图片大全
  • 哪里有手机网站制作公司网页设计与制作心得体会800字
  • 湖南建设厅网站首页简述网站建设的基本思路
  • 蚌埠公司做网站网站开发月薪
  • 怎么更换网站logo推荐几个没封的正能量网站
  • 开网站的宣传图片怎么做php网站建设面试
  • 哪些网站可以下载视频网站建设评价量规
  • 惠州市建设局网站网站模块设计怎么做
  • 群晖可不可以做网站用如何查询商标是否已经被注册
  • 北京欢迎你网站制作公司建设厅和应急管理厅焊工证区别
  • 如何开办网站微信公众平台号申请注册
  • 网站建设找哪个平台浦东区建设工程监督网站
  • 如何创业做网站设计公司工作室
  • 游戏网站建设多少中国煤炭建设协网站
  • 动态图表网站宁津做网站
  • 黑龙江生产建设兵团各连网站成功网站建设案例
  • 一级a做爰精免费网站肇庆网站制作软件
  • wordpress加分页北京优化生育
  • 乐至建设局网站工程项目管理软件哪个好
  • 太原公司网站建立wordpress插件直播
  • 比较有名的diy制作网站做照片视频的网站
  • 河北石家庄建设网站wordpress nginx apache
  • 上海免费网站建设品牌wordpress主题安装失败下载失败
  • 买公司的网站商城系统开发
  • 网页设计国外设计欣赏网站深夜视频在线免费
  • 做网站怎么租用服务器杭州网站建设hzyze
  • .asp 网站北京最新防疫信息
  • 网站上传用什么软件做视频教程114查询
  • 网站小图标素材网站开发需要提供哪些东西
  • 阿里巴巴国际站买家入口百度建网站多少钱