[Unity][unet][Android]真机安卓和模拟器安卓发送信息交互通讯
发布日期:2021-05-09 11:52:33 浏览次数:3 分类:技术文章

本文共 3268 字,大约阅读时间需要 10 分钟。

理解本文以前,需要掌握:

UNITY 建立 UI 的基本知识。

UNET 的基本操作

Unity 和 Android 的基本打包知识。(参考资料4)

--------------------------------------------------------

本文主要 是以 参考资料1的内容。

工程分流下载地址:http://download.csdn.net/download/bulademian/10046730

--------------------------------------------------------UNITY 设置

UI布局 如下图所示

建立空物体,重命名为 Usuario。组件设置如下。
添加的组件 和 进行的改动 均用红色方框标出。
建立空物体,重命名为 NetworkManager。组件设置如下。
添加的组件 和 进行的改动 均用红色方框标出。把上面创建的 Usuario 物体 拖入 下方 PlayerPrefab 处即可。
--------------------------------------------------------代码
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;//使用 该引用,才能获得 Text 组件。using UnityEngine.Networking;public class Android_Test : NetworkBehaviour{    private Transform canvasTras;//UGUI的Canvas    private Text text;//用来显示 界面的文本    private Button btn;//前端的按钮    private AndroidJavaObject jo = null;    private string str;    private int int_ = 0;    private string test_str = ">";    private void Awake()    {        #if UNITY_ANDROID                str = "这里是安卓设备^_^";        #endif        #if UNITY_IPHONE                str = "这里是苹果设备>_<";        #endif        #if UNITY_STANDALONE_WIN                str = "我是从Windows的电脑上运行的T_T";        #endif    }    // Use this for initialization    void Start () {        //固定写法        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");        jo = jc.GetStatic
("currentActivity");//获取当前Activity对象,即Android中的MainActivity canvasTras = GameObject.Find("Canvas").transform; text = canvasTras.Find("Text").GetComponent
(); btn = canvasTras.Find("Button").GetComponent

------------------------------------------------------查找 设备的IP 地址

查看电脑在局域网的 IP 地址(192.168.1.2)

手机在局域网的IP地址(192.168.1.17)

---------------------------

电脑上 的 模拟器 的 IP 地址就是 电脑的IP 地址。192.168.1.2。

因此 如果 电脑上的模拟器 是 客户端的话。就需要 手机 真机 做服务器。因此 LAN Client 的IP 地址 为 手机的 IP 地址 192.168.1.17

安卓手机  客户端 无法连接 到  虚拟机 安卓 电脑 的 服务器(很可能 是因为 抓不到 模拟安卓 的 IP 地址。)

安卓 手机 作为 服务器 可以 链接 到 虚拟机 安卓 电脑 的 客户端

由于 安卓真机 和 安卓模拟机的 通讯存在瑕疵。

-------------------------------------解决了 安卓 真机 和 安卓模拟机 的问题。

主要解决办法 是,把 Usuario 物体 变成预制体。

显示结果

----------------------------------------------

下一篇将 用 安卓 真机 和 电脑 EXE 文件 进行通讯。

貌似 UNET 不能做到 跨平台 通讯 交互。

---------------------------

参考资料:

1.

2.

https://jingyan.baidu.com/article/63f2362816d56c0208ab3dd5.html

3.

4.

http://blog.csdn.net/bulademian/article/details/78387461

5.

http://www.cnblogs.com/zhouxin/p/5820161.html

6.

7.

8.

转载地址:https://blog.csdn.net/BuladeMian/article/details/78403594 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:[Unity][unet][Android]电脑和电脑发送信息交互通讯
下一篇:[Unity][Android]获取设备的操作系统

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2023年09月15日 11时17分48秒