Android TurnBasedMultiplayer与exclusiveBitMask自动匹配

时间:2014-01-25 02:02:59

标签: java android multiplayer bitmask google-play-games

有人可以解释一下这个bitmask参数如何用于自动匹配游戏中的独占角色?是否可以自动匹配多个独特角色的玩家?

这里提到here

  

您的游戏也可以使用exclusiveBitMask参数   createAutoMatchCriteria()配对自动匹配的玩家   有兴趣在游戏中扮演特定的独家角色。

以及api docs

public static Bundle createAutoMatchCriteria (int minAutoMatchPlayers,
                             int maxAutoMatchPlayers, long exclusiveBitMask)
  

创建自动匹配条件Bundle。可以传递给      createMatch(GoogleApiClient,TurnBasedMatchConfig)创建匹配   对于回合制游戏。

     

参数minAutoMatchPlayers最小数量的自动匹配玩家。   maxAutoMatchPlayers自动匹配玩家的最大数量。   exclusiveBitMask独有的位掩码,用于播放器的独占角色。   每个玩家配对的独占位掩码必须等于零   自动配对。

2 个答案:

答案 0 :(得分:1)

来自文档:

  

当使用此选项自动匹配时,只有当其独占位掩码的逻辑AND等于0时才会考虑匹配。

所以,如果你在这个面具中设置了一个位,你的对手也不能设置那个位,如果他们想要与你配对。

E.g。在国际象棋中,如果A想要播放白色,而B想要播放黑色,则可以在此掩码中指定此值(白色为0x1,黑色为0x2),并且可以配对。 想要打白色的两名球员将不会匹配。

面具0x0的玩家可以与任何玩家配对,可以是白色也可以是黑色。

答案 1 :(得分:0)

“每个玩家配对的独占位掩码必须等于零以进行自动匹配”实质上意味着必须在玩家之间使用exclusiveBitMask完全相同。实用性有限。这并不意味着如果关系那么简单,你就无法创建代表角色A和角色B的位掩码。但这意味着它会匹配角色A或B的玩家,并且需要进行过滤。如果角色A也可以与角色C匹配,则用户必须选择与A + B或A + C匹配的过滤器,但不能同时选择两者。