查看: 623|回复: 0
打印 上一主题 下一主题

[其他] Network 客户端设置代码

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-8-30 00:12:59 |只看该作者 |倒序浏览
首先建一个空对象  然后填加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. }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-13 02:22 , Processed in 0.062540 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部