这是从其他人接收原始数据并将其转换的代码。现在,它应该添加从另一个播放器添加到另一个玩家在第二个玩家屏幕上添加的对象。
public void OnRealTimeMessageReceived(bool isReliable, string senderId, byte[] data)
{
byte messageVersion = (byte)data[0];
// Let's figure out what type of message this is.
char messageType = (char)data[1];
if (messageType == 'U' && data.Length == _updateMessageLength)
{
float posX = System.BitConverter.ToSingle(data, 2);
float posY = System.BitConverter.ToSingle(data, 6);
// We'd better tell our GameController about this.
if (updateListener != null)
{
updateListener.UpdateReceived(senderId, posX, posY);
}
}
}
此代码通过Google Play服务向其他玩家发送消息。
public void SendMyUpdate(GameObject childObj)
{
_updateMessage.Clear();
_updateMessage.Add(_protocolVersion);
_updateMessage.Add((byte)'U');
_updateMessage.AddRange(System.BitConverter.GetBytes(childObj));
byte[] messageToSend = _updateMessage.ToArray();
PlayGamesPlatform.Instance.RealTime.SendMessageToAll(false, messageToSend);
}
这个游戏就像tic tac Toe
对于像TIC TAC TOE这样的简单游戏,我建议您以更基本的水平传达游戏状态。
假设您在3x3字符阵列中具有游戏状态。数组的每个元素是
' '
'X'
'O'
现在,每当玩家进行移动时,您都会更新客户端的本地副本。然后,您可以轻松地通过网络发送此3X3数组。接收客户端可以相应地更新其数组,依此类推。