有人可以解释一下这个bitmask参数如何用于自动匹配游戏中的独占角色?是否可以自动匹配多个独特角色的玩家?
这里提到here
您的游戏也可以使用exclusiveBitMask参数 createAutoMatchCriteria()配对自动匹配的玩家 有兴趣在游戏中扮演特定的独家角色。
以及api docs
public static Bundle createAutoMatchCriteria (int minAutoMatchPlayers,
int maxAutoMatchPlayers, long exclusiveBitMask)
创建自动匹配条件Bundle。可以传递给 createMatch(GoogleApiClient,TurnBasedMatchConfig)创建匹配 对于回合制游戏。
参数minAutoMatchPlayers最小数量的自动匹配玩家。 maxAutoMatchPlayers自动匹配玩家的最大数量。 exclusiveBitMask独有的位掩码,用于播放器的独占角色。 每个玩家配对的独占位掩码必须等于零 自动配对。
答案 0 :(得分:1)
来自文档:
当使用此选项自动匹配时,只有当其独占位掩码的逻辑AND等于0时才会考虑匹配。
所以,如果你在这个面具中设置了一个位,你的对手也不能设置那个位,如果他们想要与你配对。
E.g。在国际象棋中,如果A想要播放白色,而B想要播放黑色,则可以在此掩码中指定此值(白色为0x1,黑色为0x2),并且可以配对。 想要打白色的两名球员将不会匹配。
面具0x0的玩家可以与任何玩家配对,可以是白色也可以是黑色。
答案 1 :(得分:0)
“每个玩家配对的独占位掩码必须等于零以进行自动匹配”实质上意味着必须在玩家之间使用exclusiveBitMask完全相同。实用性有限。这并不意味着如果关系那么简单,你就无法创建代表角色A和角色B的位掩码。但这意味着它会匹配角色A或B的玩家,并且需要进行过滤。如果角色A也可以与角色C匹配,则用户必须选择与A + B或A + C匹配的过滤器,但不能同时选择两者。