纳金网

标题: Network 客户端设置代码 [打印本页]

作者: 烟雨    时间: 2015-8-30 00:12
标题: Network 客户端设置代码
首先建一个空对象  然后填加Network View组件   之后给客户端添加脚本
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.UI;
  4. using System.Collections.Generic;

  5. public class ServerController : MonoBehaviour {

  6.         public Text messageText;
  7.         public Text connectCount;
  8.         public Text m;

  9.         private string [] xing;
  10.         private string [] ming;
  11.         private Dictionary <string, string> players;
  12.         private NetworkView v;
  13.         private Dictionary <string, ArrayList> playersMessage;

  14.         void Start () {
  15.                 xing = new string [] {
  16.                         "赵", "钱", "孙", "李", "周",
  17.                         "吴", "郑", "王", "冯", "陈",
  18.                         "楮", "卫", "蒋", "沈", "韩",
  19.                         "杨", "朱", "秦", "尤", "许",
  20.                         "何", "吕", "施", "张", "孔",
  21.                         "曹", "严", "华"};
  22.                 ming = new string [] {
  23.                         "狗蛋", "JJ", "尼玛", "尼美", "厂长",
  24.                         "铁锤", "脑残", "酸菜", "禽兽", "水杯"};
  25.                 playersMessage = new Dictionary <string, ArrayList> ();
  26.                 players = new Dictionary <string, string> ();
  27.                 v = GetComponent <NetworkView> ();
  28.                 //        初始化服务器
  29.                 Network.InitializeServer (30, 2333, false);
  30.         }

  31.         //        服务器初始化完毕
  32.         void OnServerInitialized () {
  33.                 messageText.text = "服务器初始化完毕!";
  34.         }

  35.         //        有客户端链接到服务器
  36.         void OnPlayerConnected (NetworkPlayer p) {
  37.                 string n = NamedPlayer (p);
  38.                 players.Add (p.ipAddress, n);
  39.                 messageText.text = "玩家: " + n + " 已连接!";
  40.                 connectCount.text = Network.connections.Length.ToString ();
  41.         }

  42.         //        客户端断开连接
  43.         void OnPlayerDisconnected (NetworkPlayer p) {
  44.                 messageText.text = "玩家: " + players [p.ipAddress] + " 已退出!";
  45.                 players.Remove (p.ipAddress);
  46.                 connectCount.text = Network.connections.Length.ToString ();
  47.         }

  48.         string NamedPlayer (NetworkPlayer p) {
  49.                 int x = Random.Range (0, 28);
  50.                 int m = Random.Range (0, 10);
  51.                 string name = xing [x] + ming [m];
  52.                 v.RPC ("ReceivedMessage", p, name);
  53.                 return name;
  54.         }

  55.         public void DidClickButton () {
  56.                 NetworkView vv = GetComponent <NetworkView> ();
  57.                 vv.RPC ("Send", RPCMode.All, "aa", "bb");
  58.         }


  59.         [RPC]
  60.         public void Send (string name, string message) {
  61.                 m.text += name + ": " + message + "\n";
  62.         }
  63. }
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5