【发布时间】:2018-01-06 07:42:38
【问题描述】:
所以我目前正在开发一款统一的游戏,它是一种空气曲棍球。我想添加一个多人模式(1 对 1)。
因此,在玩家与对手进行比赛后,他们会在游戏开始的房间中连接起来。
但是当我想收到对方的消息时遇到了问题。
在播放器脚本移动中,我将其添加到 void update()
Multiplayer.Instance.SendMyUpdate(positionX, PositionZ);
在多人游戏脚本中,我添加了这个:
public void SendMyUpdate(float posX, float posZ) {
string PlayerUserNameString = PlayGamesPlatform.Instance.RealTime.GetSelf ().DisplayName;
char[] characters = PlayerUserNameString.ToCharArray ();
string data = characters + ":" + posX + ":" + posZ;
byte[] bytedata = System.Text.ASCIIEncoding.Default.GetBytes (data);
PlayGamesPlatform.Instance.RealTime.SendMessageToAll (false, bytedata);
}
关于 OnRealTimeMessageReceived 方法:
string rawdata = System.Text.ASCIIEncoding.Default.GetString (data);
string[] cut = rawdata.Split (new string[] { ":" }, System.StringSplitOptions.RemoveEmptyEntries);
OpponentUserName = System.Convert.ToSingle (cut[1]).ToString();
Transform target = GameObject.Find ("mallet Opponent").transform;
Vector3 newpos = new Vector3
(
System.Convert.ToSingle(cut[2]),
0,
System.Convert.ToSingle(cut[3])
);
在我写完这个并在两台设备上构建之后,当房间连接并开始游戏时,对手玩家根本不动,我不知道问题出在哪里。
有什么想法吗?
【问题讨论】:
标签: c# android unity3d google-play-games multiplayer