具有不同角色的实时多人 Google Play 游戏
Posted
技术标签:
【中文标题】具有不同角色的实时多人 Google Play 游戏【英文标题】:Google Play Game with real time multiplayer having different roles 【发布时间】:2017-07-13 06:38:49 【问题描述】:我正在objective-c
中创建一个游戏应用程序,它使用Google Play Game services
实现realtime
Multiplayer
功能。在应用程序中,用户必须在开始游戏之前下注一些硬币,我们希望连接的用户必须下注相同数量的硬币。
我遵循https://developers.google.com/games/services/ios/realtimeMultiplayer 的文档。该应用程序在搜索实时玩家时运行良好,无需每个玩家的特定角色(例如拥有不同硬币的玩家)。
- (void)createQuickStartRoom
GPGMultiplayerConfig *config = [[GPGMultiplayerConfig alloc] init];
// Could also include variants or exclusive bitmasks here
config.minAutoMatchingPlayers = totalPlayers - 1;
config.maxAutoMatchingPlayers = totalPlayers - 1;
// Show waiting room UI
[[GPGLauncherController sharedInstance] presentRealTimeWaitingRoomWithConfig:config];
但我想搜索具有相同角色的玩家,就像每个玩家在我的应用程序中花费相同数量的硬币一样。
static uint64_t const ROLE_COIN_10 = 0x1; // 001 in binary
static uint64_t const ROLE_COIN_20 = 0x2; // 010 in binary
static uint64_t const ROLE_COIN_50 = 0x4; // 100 in binary
- (void)createQuickStartRoomWithRole:(uint64_t)role
GPGMultiplayerConfig *config = [[GPGMultiplayerConfig alloc] init];
// auto-match with two random auto-match opponents of different roles
config.minAutoMatchingPlayers = 2;
config.maxAutoMatchingPlayers = 2;
config.exclusiveBitMask = role;
// create room, etc.
// …
但找不到具有相同角色的所需玩家。它仍然提供具有不同角色的实时播放器。 请告诉我,如何实现此功能。 谢谢。
【问题讨论】:
【参考方案1】:您想使用variant 字段来匹配请求相同(非零)值的玩家。在您的示例中,将变量设置为硬币的数量。独占位掩码用于匹配不同的类型。例如,如果您在比赛中需要“进攻”和“防守”。
【讨论】:
嗨克莱顿,谢谢。它工作得很好。你拯救了我的一天:)。 你能帮我解决这个问题吗***.com/questions/42427673/…以上是关于具有不同角色的实时多人 Google Play 游戏的主要内容,如果未能解决你的问题,请参考以下文章
如何在实时多人游戏中移动对象? (统一的 Google Play 游戏插件)
当应用程序进入后台时,实时多人 Google Play 游戏服务对等方断开连接