Java Android TurnBasedMultiplayer自动匹配独家eBitMask

Java Android TurnBasedMultiplayer自动匹配独家eBitMask,java,android,multiplayer,bitmask,google-play-games,Java,Android,Multiplayer,Bitmask,Google Play Games,有人能解释一下这个位掩码参数是如何用于自动匹配游戏中的独占角色的吗?是否有可能自动匹配多个角色独特的玩家 这里提到过 您的游戏还可以在中使用exclusiveBitMask参数 createAutoMatchCriteria()将自动匹配的玩家配对 对在游戏中扮演特定的独家角色感兴趣 还有 创建自动匹配条件捆绑包。可以传递给 createMatch(GoogleAppClient,TurnBasedMatchConfig)创建匹配 对于基于回合的游戏 参数minAutoMatchPlayers自

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

这里提到过

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

还有

创建自动匹配条件捆绑包。可以传递给 createMatch(GoogleAppClient,TurnBasedMatchConfig)创建匹配 对于基于回合的游戏

参数minAutoMatchPlayers自动匹配玩家的最小数量。 MaxAutomatchPlayer自动匹配的最大玩家数。 独家EBITMAK独家位掩码用于玩家的独家角色。 每对玩家的独占位掩码必须等于零 自动匹配


“自动匹配时,每对玩家的独占位掩码必须等于零”本质上意味着玩家之间的独占位掩码必须完全相同。其效用将是有限的。这并不意味着如果关系如此简单,就不能创建表示角色a和角色B的位掩码。但这意味着它将匹配角色A或B的玩家,并且需要进行过滤。如果角色A也可以与角色C匹配,则用户必须选择与A+B或A+C匹配的筛选器,但不能同时与两者匹配。

来自文档:

当自动匹配此选项时,仅当其独占位掩码的逻辑AND等于0时,才会考虑玩家进行匹配

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

例如,在国际象棋中,如果A想玩白色,B想玩黑色,他们可以在这个掩码中指定(0x1代表白色,0x2代表黑色),并且可以配对。 两名想扮演白人角色的球员将不匹配

掩码为0x0的播放机可以与任何播放机配对,可以是白色的,也可以是黑色的。

掩码的所有位必须不同,而不是与您写入的“完全相同”。
public static Bundle createAutoMatchCriteria (int minAutoMatchPlayers,
                             int maxAutoMatchPlayers, long exclusiveBitMask)