0

这是从其他人接收原始数据并将其转换的代码。现在应该将从其他玩家添加的对象添加到其他玩家在第二个玩家屏幕上添加它的位置。

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);
}

这个游戏就像井字游戏

4

1 回答 1

0

对于像井字游戏这样的简单游戏,我建议您在更基础的层面上传达游戏状态。

假设您在 3x3 字符数组中拥有游戏状态。数组的每个元素都是

' '
'X'
'O'

现在,每当玩家移动时,您都会更新客户端的本地数组副本。然后,您可以轻松地通过网络发送这个 3x3 阵列。接收客户端可以相应地更新他们的数组,依此类推。

于 2017-02-26T11:50:55.877 回答