先弄??接管理的代? Connection.js:
-----------------------------------------------------------------------------------------

var ServerAddr : String = "127.0.0.1";
var ServerPort : int = 2224;

function OnGUI()
{
GUILayout.BeginArea(Rect(Screen.width-200,0,200,200));

if (Network.peerType = = NetworkPeerType.Disconnected)
{
GUILayout.Label("Connection status: Disconnected");

ServerAddr = GUILayout.TextField(ServerAddr, GUILayout.MinWidth(100));
ServerPort = parseInt(GUILayout.TextField(ServerPort.ToString()));

if (GUILayout.Button("Connect as client"))
{
Network.Connect(ServerAddr, ServerPort);
}

if (GUILayout.Button("Start Server"))
{
Network.InitializeServer(32, ServerPort,false);
}
}
else
{
if (Network.peerType = = NetworkPeerType.Connecting)
{
GUILayout.Label("Connection status: Connecting");
}
else if (Network.peerType = = NetworkPeerType.Client)
{
GUILayout.Label("Connection status: Connected");
}
else if (Network.peerType = = NetworkPeerType.Server)
{
GUILayout.Label("Connection status: Server!");
GUILayout.Label("Connection: " + Network.connections.length);
}

if (GUILayout.Button("Disconnect"))
{
Network.Disconnect(200);
}
}

GUILayout.EndArea();
}

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

然后弄? Chat.js,???聊天的??:
-----------------------------------------------------------------------------------------

var chatWords : String = "";
var inputWord : String = "input words here.";                //設為多重變數

function OnGUI ()
{
if (Network.isClient)                                //如果連客戶端連線     
{
GUILayout.BeginArea(Rect(0,0,300,600));
GUILayout.TextArea(chatWords);
GUILayout.BeginHorizontal();                        //此內部呈現的所有控件將被水平放置彼此相鄰
inputWord = GUILayout.TextArea(inputWord);          //一個面積 放置文字
if (GUILayout.Button("Send"))                       //如果按下 傳送
{
networkView.RPC("SomeoneSay", RPCMode.All, inputWord);           //傳送給ALL.文字
inputWord = "";                                                  //傳送文字""
}
GUILayout.EndHorizontal();                            //關閉通過EndHorizontal。

if (GUILayout.Button("Disconnect"))
{
Network.Disconnect(200);
}
GUILayout.EndArea();
}
}

@RPC
function SomeoneSay(sayWord : String, info : NetworkMessageInfo)
{
chatWords = chatWords + "\n" + info.sender + ":" + sayWord;
}

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

好,代?就完?了。??下面的一些拖拽操作:
1. 建立一??景,把 Connection.js、Chat.js ?到 MainCamera 上
2. ? MainCamera 弄? NetworkView Component,并? State Synchronization = off,因?不需要同步位置等等信息。



要先建立一個伺服器 (伺服器本身不能聊天)   再加入 2人  此2人可以聊天
----------------------------------------------------------------

arrow
arrow
    全站熱搜

    lkj2000168 發表在 痞客邦 留言(0) 人氣()