【问题标题】:Game Center - Reconnecting to gameGame Center - 重新连接游戏
【发布时间】:2011-06-02 18:48:41
【问题描述】:

在由 Game Center API 设置的多人游戏中,如果其中一名玩家不得不意外退出一分钟或更长时间,游戏可能会断开连接。例如,当玩家接到电话时,可能会发生这种情况。当这种情况发生时,在玩家重新开始游戏后,有没有办法让他自动重新连接到游戏?

【问题讨论】:

    标签: iphone ios game-center


    【解决方案1】:

    这在很大程度上取决于您是通过 p2p 蓝牙/Wifi 还是通过 Internet 建立会话。

    来自GameCenter docs

    将玩家添加到现有比赛 有时你可能已经有一个 匹配,并且只想将玩家添加到 它。例如,如果您的游戏需要 四名球员和一名球员得到 断开连接,您可能想提供 寻找替代品的选项, 而不是中止比赛 进展。

    为此,您可以使用类似于 可以在示例 5-7 中找到,但是 调用 findMatchForRequest:withCompletionHandler:, 您的应用程序调用 addPlayersToMatch:matchRequest:completionHandler: 方法,添加匹配以添加 播放器作为附加参数。

    所以基本上,如果你还有一个匹配对象,你可以在任一端重用它。由您和您的游戏决定什么是最有意义的。

    【讨论】:

    • 我也看到了这个,但问题是它不会重新连接 - 这将是一个重新邀请,它必须由仍在游戏中的玩家发起。还是我错过了什么?
    • 不一定非得由玩家发起,你的游戏逻辑检测断开连接可以根据需要触发请求,为什么要强迫他们点击某些东西?
    • 我同意 - 我不希望他们点击某些东西。但是检测断开连接并不足以邀请 - 也许玩家还没有完成他的通话?也许我错过了一些东西。你将如何处理这种逻辑?
    • 是否需要从那一端开始?再次启动应用程序后,为什么不从接到该呼叫的播放器端重新连接?那个时候你还有以前的比赛吗?
    • 很可能对方会等待。这就是我的想法——但我认为也许有更好的方法。
    【解决方案2】:

    我不相信这可以在 iOS4 中完成。 提示提示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      相关资源
      最近更新 更多