概述
理解本文以前,需要掌握:
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]真机安卓和模拟器安卓发送信息交互通讯COMO CREAR UN CHAT ONLINE PARA UNITY CON UNET 怎么查看自己电脑的IP地址? Unity5网络模块UNet介绍的全部内容,希望文章能够帮你解决[Unity][unet][Android]真机安卓和模拟器安卓发送信息交互通讯COMO CREAR UN CHAT ONLINE PARA UNITY CON UNET 怎么查看自己电脑的IP地址? Unity5网络模块UNet介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复