前言
经过上次unity自身网络协议的学习,结合NGUI插件,就能够很快的做出一个聊天室demo了,废话不多说,上图
下面的输入框是用来,输入昵称和聊天内容的。
实现
1 使用ngui搭建一个简单的聊天窗口,
2 将将创建连接服务器脚本挂在MainCamera上
3 编辑一个MyChatInput脚本来控制信息输入,并且将内容显示到面板上
using UnityEngine;
using System.Collections;
public class MyChatInput : MonoBehaviour {
private UIInput input;
public UITextList textlist;
public UIInput nicheng;
void Awake() {
input = this.GetComponent<UIInput>();
}
/*控制信息的填写和发送*/
public void OnChatSubmit() {
string chatMessage = input.value;
string name = nicheng.value;
//当没有输入昵称时的做法
if (name=="")
{
name = "玩家"+Network.player.ToString();
}
//发送到个机器上
networkView.RPC("receiveMessage", RPCMode.All, chatMessage, name);
//清空输入栏
input.value = "";
}
/*接受信息和昵称,显示到上方的面板上*/
[RPC]
void receiveMessage(string message,string name) {
textlist.Add(name + " : " + message);
}
}
脚本挂在输入框上,这里要注意的是,只要脚本调用了RPC,那么该脚本所在物体需要添加Network组件
最后,选择当输入完信息,回车时调用OnChatSubmit()
之后发布项目,创建和连接服务器,输入昵称,就可以开心的进行聊天啦~~~~~~~~
总结
学习真的是循序渐进的!!!加油