[Unity][unet][Android]真机安卓和模拟器安卓发送信息交互通讯
来源:互联网 发布:单片机属于嵌入式吗 编辑:程序博客网 时间:2024/05/29 09:12
理解本文以前,需要掌握:
UNITY 建立 UI 的基本知识。
UNET 的基本操作
Unity 和 Android 的基本打包知识。(参考资料4)
--------------------------------------------------------
本文主要 是以 参考资料1的内容。
工程分流下载地址:http://download.csdn.net/download/bulademian/10046730
--------------------------------------------------------UNITY 设置
UI布局 如下图所示
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<AndroidJavaObject>("currentActivity");//获取当前Activity对象,即Android中的MainActivity canvasTras = GameObject.Find("Canvas").transform; text = canvasTras.Find("Text").GetComponent<Text>(); btn = canvasTras.Find("Button").GetComponent<Button>(); text.text = str; test_str = ">"; btn.onClick.AddListener(Click);//按钮点击事件监听下面的Click()方法 } //这个方法是在界面点击按钮的时候调用,使用的是UGUI的BUTTON组件 public void Click() { text.text = "";//点击的时候先清空 //*** test_str = test_str + "<"; string Mensaje = test_str; CmdEnviar(Mensaje); //int res = jo.Call<int>("add", 56, 100);//调用Android中的方法,"add"为方法名字,56,100,分别是想加的参数 //text.text = "56 + 100的结果是:" + res.ToString();//显示前端 } //*** [Command] void CmdEnviar(string mensaje) { RpcRecivir(mensaje); } [ClientRpc] public void RpcRecivir(string mensaje) { text = canvasTras.Find("Text").GetComponent<Text>(); text.text = mensaje; //TxtTexto.text += ">>" + mensaje + "\n"; }}
------------------------------------------------------查找 设备的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.
COMO CREAR UN CHAT ONLINE PARA UNITY CON UNET
2.
怎么查看自己电脑的IP地址?
https://jingyan.baidu.com/article/63f2362816d56c0208ab3dd5.html
3.
4.[Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
http://blog.csdn.net/bulademian/article/details/78387461
5.
Unity5网络模块UNet介绍
http://www.cnblogs.com/zhouxin/p/5820161.html
6.
7.
8.
- [Unity][unet][Android]真机安卓和模拟器安卓发送信息交互通讯
- [Unity][unet][Android]电脑和电脑发送信息交互通讯
- [Unity][安卓]Unity和Android Studio 3.0 交互通讯 前提-- Unity 的 Android设置
- [Unity][安卓]Unity和Android Studio 3.0 交互通讯(2)Unity 设置
- [Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
- [Unity][PHOTON][UNET][SOCKET][Android]PC-Android建立聊天室ChatRoom交互通讯
- Unity调用android的方法,android调用Unity的方法,unity和安卓的交互
- Unity安卓交互
- Unity调用android的方法,android调用Unity的方法,unity和安卓的交互(2)2
- Unity和Android交互
- Unity UNet Lobby 的一些测试信息
- Android和Unity混合开发——Activity和Unity脚本交互和信息传递
- 安卓模拟器发送udp数据包
- android 模拟器和PC用sockets通讯
- Unity和Android的交互
- Unity和Android交互案
- Unity 和android JAVA交互
- Unity与安卓交互心得
- leveldb 源码分析 —— SkipList跳表
- JAVA IO系统 (笔记一)
- 渐进式框架-vue
- linux命令ps aux|grep xxx详解
- Struts2标签库整理【完整】
- [Unity][unet][Android]真机安卓和模拟器安卓发送信息交互通讯
- 如何让多播报文从指定的网口发出去
- Edittext设置inputType为密码不能生效
- 16.4 国际化的 URI
- android系统裁剪方法
- HTML 表格标签
- [CEOI2017]One-Way Streets
- 16.5 注意的问题
- 【坑】Firefox弹出 “Plugin Container for Firefox已停止工作” 处理办法。