问题标签 [gkturnbasedmatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
181 浏览

game-center - 如何管理 Game Center 邀请自定义视图

我正在为 iPhone/iPad IOS 6 开发基于回合的游戏。我以自己的观点管理我的 GameCenter 游戏中的不同游戏。它工作正常。我想知道是否可以管理用户邀请以我自己的观点玩游戏。如果这不可能,我想知道如何使用 Game Center 自定义视图来管理它。我想通过用户名邀请我的游戏中的玩家。

我读到用这种方法激活了邀请:

如何以我自己的视图发送邀请?如何管理我在自己的视图中收到的邀请?如何知道有人接受或拒绝我的邀请?

0 投票
3 回答
798 浏览

iphone - GKTurnBasedMatch 推送通知非常不一致

我正在测试两个设备之间的回合制游戏。据我了解,[GKTurnBasedMatch endTurnWithNextParticipants:]例如,发送带有 的回合应该会自动向对手推送游戏中心通知。有时,这会像预期的那样工作:轮到发送并立即在另一台设备上显示横幅通知。一切都很好。

令我困惑的是,其他时候,即使回合本身已正确发送(我可以判断,因为当对手刷新比赛时,比赛是最新的),没有推送通知进来

我的理解有什么漏洞吗?如果我理解正确,不一致的通知应该与我的代码无关,因为这里的问题不是我如何处理通知,而是根本没有通知。换句话说,[handleTurnEventForMatch:](一种GKTurnBasedEventHandlerDelegate方法)与它没有任何关系(我不认为),因为如果没有收到通知,那么无论如何都不会调用它。

所以,我只是想知道是否有人对此有任何经验。这是否可能是由于我的代码中的某些内容?或者,游戏中心沙盒是否有可能对不一致负责,而我对此无能为力?

任何想法或想法将不胜感激。

0 投票
1 回答
492 浏览

ios - iOS 游戏中心——频繁的 CONNECTION INTERRUPTED 消息

我正在使用 GKTurnBasedMatch 开发 iOS 游戏中心游戏。每次不完整的转弯时,控制台中都会出现这样的消息:

有趣的是,当我发送一个完整的回合时,这不会发生

但是当我发送不完整的转弯时确实会发生

其他人在这里报告了类似的问题:Spurious Game Center player disconnect messages。但是,很难看出唯一的答案如何适用于我的情况,因为我正在使用 GKMatchmakerViewController 创建匹配项。

0 投票
0 回答
293 浏览

ios - 实现我自己的自定义 GKTurnBasedMatchmakerViewController

我敢肯定有类似的问题,但我找不到一个例子。我正在尝试为我的回合制游戏重新创建苹果 GKTurnBasedMatchmakerViewController,并为我的回合制 iPhone 游戏使用我自己的自定义界面。我无法正确显示所有选项,所以我希望有人有一个工作示例。我目前的代码是这样的:

如您所见,我现在正在抓取的唯一游戏是状态为 1(正在进行的游戏)且当前参与者 ID 是我的 ID 的游戏。

为了获得不属于我的游戏,我尝试制作不是我的 ID 的游戏,但它包含邀请,我不知道如何将它们分开。

基本上,我希望有一个轮到我的游戏部分,一个不是我轮到我但游戏仍然活跃的部分,一个已完成的旧游戏的部分,以及一个邀请部分。有没有人有一个工作示例,或者他们可以发送给我的页面来解释我正在尝试做的最佳实践?谢谢你的帮助。

0 投票
2 回答
162 浏览

iphone - 如何在 iOS Gamecenter match.participants 中找到已满座?

我正在使用 gamecenter 编写一个基于回合的 iOS 游戏,并且在找到当前坐在部分填充游戏中的每个人时遇到问题。我应该如何穿过我的比赛的参与者阵列并拉出坐着的球员?任何时候游戏中都会有 [1,8] 名玩家,我正在尝试用那些被填满的人填充大厅。

0 投票
3 回答
189 浏览

ios - 如何确定比赛的分数是否已提交

我正在开发一个使用游戏中心的回合制游戏。我不在本地保存任何匹配数据。游戏进行时,其中一名玩家结束游戏并为他自己提交分数。当其他玩家启动游戏时,他会从游戏中心获取所有匹配项(包括已完成的匹配项)。我的问题是,我无法确定我已经提交了哪个游戏的分数。为了更好地理解,我列出了场景的步骤。

  • 鲍勃开始比赛
  • 爱丽丝接受比赛
  • 爱丽丝上场并结束回合
  • 鲍勃上场并结束回合
  • ...
  • ...
  • ...
  • Bob 结束比赛并将他的分数提交到排行榜
  • Alice 启动游戏并从游戏中心获得 10 场已完成的比赛。

现在我怎么知道我提交了哪些比赛的分数。据我所知,比赛结束后我无法更新比赛数据。所以我不能再保存任何标志来匹配数据了。

我是不是出了点问题,过早结束了比赛?所有玩家都必须等待其他玩家提交他们的分数吗?

我必须在本地保存比赛数据吗?

我还想使用比赛的最后回合日期并在本地保存“最后得分提交日期”。

在本地保存匹配数据或日期对多个设备不利。

0 投票
1 回答
249 浏览

iphone - Game Center 回合制比赛列表在离线时不显示

我正在使用自定义视图来显示我的回合制游戏中的匹配列表。使用自定义视图时,我在显示设备离线时玩家参与的当前游戏列表时遇到问题。但是当我检查游戏中心默认视图时,即使离线,比赛也能正常显示。我用来填充数组的代码如下(摘自 Ray Wenderlich 的书中)

任何想法为什么会发生这种情况?

0 投票
1 回答
108 浏览

iphone - 错误:您不是当前参与者。当我是当前参与者时。什么?

我正在开发一款基于回合的 iOS 游戏,但遇到了一个奇怪的错误。当我实际验证我确实是当前参与者时,它表示我不是当前参与者。在这里,我检查我是否是当前参与者,这会输出“Equal”,但是当我尝试结束我的回合时,它会显示“错误:您不是当前参与者”。

这到底是怎么回事!?

0 投票
1 回答
123 浏览

game-center - 如何在 GKTurnBasedMatch 中强制创建新匹配

我想让用户创建新匹配或加入使用创建新匹配创建的现有匹配,所有这些都以编程方式完成。我的问题是如何强制游戏中心只创建一个新匹配?苹果在他们的文档中提供的代码是:

当且仅当没有现有匹配时,此代码才会创建一个新匹配,否则它将进行自动匹配。

0 投票
0 回答
309 浏览

ios - 如何使用 gkturnbasedmatch 实现转弯超时

我想在我的游戏中心应用程序中实现转弯超时功能。它应该给每个用户 30-60 秒的时间来完成他们的回合,如果没有,他们应该在他们退出时被对待。我尝试使用timeout参数 ofendTurnWithNextParticipants但它似乎对小值无效。它从不发出转弯超时信号,默认值为 1 周 ( GKTurnTimeoutDefault)。所以我猜苹果在使用 turnbasedmatch 这个名字时的想法和我的想法不同。

我最好的选择是在用户收到轮到 30-60 秒时设置一个计时器,如果用户在此期间没有轮到,则触发其中一个参与者退出方法。但这不是一个可靠的解决方案,因为用户可能会用完电池,关闭手机,nstimer 似乎在 uitouchevents 期间暂停滴答(uiscrollview 滚动等,也许它可以通过在另一个我不知道的线程中运行 nstimer 来处理)。关于可靠地实施轮流超时的任何提示?