gpt4 book ai didi

iphone - GameCenter GKMatchmakerViewController 自动匹配不起作用,expectedPlayerCount 始终为 1,解决方案?

转载 作者:行者123 更新时间:2023-12-01 16:56:25 26 4
gpt4 key购买 nike

我无法使用自动匹配和 GKMatchmakerViewController 在两个玩家之间建立连接。

行为是这样的:

  • didFindMatch 被称为
  • expectedPlayerCount 不为零(始终为 1)
  • didChangeState 从未被调用
  • 在很长一段时间后,收到断开连接的播放器。

  • 有没有人可以解决这个问题?

    谢谢!

    最佳答案

    为了获得正确数量的玩家连接,请确保设置您的 GKMatchRequest适本地。

    在这个例子中,我有一个游戏只有在有两个玩家连接时才有效,所以我将最小和最大玩家数设置为 2:

    GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
    request.minPlayers = 2;
    request.maxPlayers = 2;

    GKMatchmakerViewController* mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];
    mmvc.matchmakerDelegate = self;

    然后,您记录的所有内容都按预期工作。

    编辑:

    再次阅读您的问题后,还要确保您保留了 GKMatch对象给你:
    -(void) matchmakerViewController:(GKMatchmakerViewController*)viewController didFindMatch:(GKMatch*)match;
    当然,你必须设置这个匹配对象的委托(delegate):
    //Done!
    -(void) matchmakerViewController:(GKMatchmakerViewController*)viewController didFindMatch:(GKMatch*)match{
    [self dismissModalViewController];
    [self setCurrentMatch:match];

    match.delegate = self;

    if (!matchStarted && match.expectedPlayerCount == 0){
    matchStarted = YES;
    [delegate onMatchStart];
    self.handlerVoice = [OnlineHandlerVoice handlerWithMatch:currentMatch];
    }
    }

    关于iphone - GameCenter GKMatchmakerViewController 自动匹配不起作用,expectedPlayerCount 始终为 1,解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11444419/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com