我正在通过游戏中心开发一款多人游戏 .
所以我有不同组的球员(某些部落) . 所有比赛只需2名球员 . 我怎样才能为有不同群体的玩家进行配对?
例如 . :
Clan 1 + Clan 2 = true;
Clan 5 + Clan 5 = false;
Clan 5 + Clan 6 = true;
我知道有一个 playerGroup 属性,但它执行完全相反的事情:(
playerGroup
匹配请求的 playerAttributes 属性应该能够执行您想要的操作 . 它__12903_d在一起)到0xFFFFFFFF . 请在此处查看an example .
playerAttributes
但是,问题是你表明你有更多的部落而不是玩家 . 如果你有6并将它们定义为:
#define CLAN1 0xFF00000F #define CLAN2 0xFF0000F0 #define CLAN3 0xFF000F00 #define CLAN4 0xFF00F000 #define CLAN5 0xFF0F0000 #define CLAN6 0xFFF00000
然后只有两个玩家的OR组合永远不会完全达到0xFFFFFFFF . 我认为你可以通过反转蒙版来做你想做的事情,并使用0而不是1来定义你想要的角色 .
#define CLAN1 0xFFFFFFF0 #define CLAN2 0xFFFFFF0F #define CLAN3 0xFFFFF0FF #define CLAN4 0xFFFF0FFF #define CLAN5 0xFFF0FFFF #define CLAN6 0xFF0FFFFF
来自不同部族的任何两个或者一起作为0xFFFFFFFF . 所以,游戏中心愿意(这总是一个不确定的命题),来自不同部族的任何两个玩家都应该匹配;但是,来自同一家族的两名球员不应该 .
注意:我可能在这里说明显而易见的,但请注意,如果用二进制而不是十六进制定义它们,最多可以有32个不同的部族,因此每个部族使用一个位 . 我这里只使用十六进制数字来提高可读性 .
1 回答
匹配请求的
playerAttributes
属性应该能够执行您想要的操作 . 它__12903_d在一起)到0xFFFFFFFF . 请在此处查看an example .但是,问题是你表明你有更多的部落而不是玩家 . 如果你有6并将它们定义为:
然后只有两个玩家的OR组合永远不会完全达到0xFFFFFFFF . 我认为你可以通过反转蒙版来做你想做的事情,并使用0而不是1来定义你想要的角色 .
来自不同部族的任何两个或者一起作为0xFFFFFFFF . 所以,游戏中心愿意(这总是一个不确定的命题),来自不同部族的任何两个玩家都应该匹配;但是,来自同一家族的两名球员不应该 .
注意:我可能在这里说明显而易见的,但请注意,如果用二进制而不是十六进制定义它们,最多可以有32个不同的部族,因此每个部族使用一个位 . 我这里只使用十六进制数字来提高可读性 .