案例视频
案例功能
这个demo主要功能就是登录服务器,各个玩家的位置同步以及世界频道聊天。
代码在这:https://github.com/ferris1/WindDemo
demo游戏流程
Wind的各个接口使用方式可以看GameMgr.cs文件里面的具体使用。
登录服务器
public void OnConnectBtn(){Debug.Log("start connect server");if (input.text != ""){playerId = input.text;// 连接服务器 将ip和端口传进去WindNetwork.Agent.GetInstance().ConnectToServer("127.0.0.1", 50100);}else{Debug.Log("please input account name");}}
加入房间
public void SendJoinRoomPakcet(){var req = new WindNetwork.PlayerJoinRoomRequest(); // new一个protobuf对象req.PlayerId = playerId; // 玩家IDWindNetwork.Agent.GetInstance().SendRequest(req); // 发包给服务器}
同步移动
public void SendMovePakcet(){var req = new WindNetwork.PlayerMoveRequest(); // new一个protobuf对象req.PlayerId = playerId;req.Move = new WindNetwork.Vector2(); // protobuf的结构体req.Move.X = _movement._move.x;req.Move.Y = _movement._move.y;req.Look = new WindNetwork.Vector2();req.Look.X = _movement._look.x;req.Look.Y = _movement._look.y;WindNetwork.Agent.GetInstance().SendRequest(req);}
世界频道发言
public void OnPlayerSend(){if (messInput.text == "") return;var req = new WindNetwork.SpeakOnWorldRequest();req.PlayerId = playerId;req.Name = playerId; //玩家名字req.Content = messInput.text; // 发言内容WindNetwork.Agent.GetInstance().SendRequest(req); // 发包给服务器messInput.text = "";}
