问题标签 [gamekit]

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 投票
3 回答
7100 浏览

ios - 使用 Game Center 对 GKLocalPlayer 进行身份验证

我正在尝试使用 Game Center 对 GKLocalPlayer 进行身份验证。但是,Apple 提供的代码

似乎对我没有用。我总是收到“无法连接到 Game Center 服务器”的警报。可以选择“重试”或“取消”。两个 NSLog 语句都没有执行,所以我猜 completionHandler 甚至没有被触发。

如果我按重试,我会收到以下错误:

有人知道出了什么问题吗?

0 投票
3 回答
2625 浏览

iphone - 用户更改时的 GameKit 通知

我的游戏套件有些问题。一切正常,唯一的问题是用户登录的变化。当我的应用程序运行时,我想知道用户何时在游戏中心注销或更改帐户。我已经为这种通知使用了下一个代码,但它不起作用

我没有收到任何通知,这个进入视图的角色确实加载了!

有任何想法吗??请帮我!!

我尝试创建一个新项目,仅使用 gamecenter 登录和通知,但问题没有解决:(

我忘了什么??

0 投票
2 回答
783 浏览

iphone - 在运行同一应用程序的两个 iOS 设备之间传输对象的最佳方式是什么?

我试图让我的 iOS 应用程序能够将对象传输到运行相同应用程序的另一台 iOS 设备。该对象大约有几千 KB 的内存。有没有人有关于如何做到这一点的建议?我正在考虑使用 FTP,但这似乎有点乱。有人对可能使用 GameKit 有什么建议吗?或者是其他东西?

0 投票
2 回答
1403 浏览

objective-c - 如何从 Game Center 获得 GKPlayer 的状态?

当我获取GKLocalPlayer或使用loadPlayersForIdentifiers:identifiers withCompletionHandler:获取列表或单个GKPlayer别名GKPlayer时,记录的对象看起来像这样:

我的问题是,我如何status从这个对象中获取,这个对象的类型到底是什么?GKPlayer类中没有“摆脱”或“状态”属性,所以当我执行以下操作时:

我收到“在非结构或联合的情况下请求成员‘状态’”错误。

0 投票
3 回答
5342 浏览

iphone - 为回合制多人 iPhone 游戏构建我自己的游戏服务器

游戏工具包编程指南...

多人游戏允许有兴趣玩在线多人游戏的玩家发现彼此并连接到比赛中。根据您的需要,您的应用程序可以使用 Game Kit 将所有参与者连接在一起,或者让 Game Kit 向您提供玩家列表。在后一种情况下,您将提供自己的网络实现,将玩家连接到您提供的服务器

我想为 Game Center 构建一个多人回合制 iPhone 游戏,并且需要编写自己的游戏服务器。我计划使用 Game Center API 进行玩家身份验证、记分牌和玩家配对,但我仍然需要构建自己的回合制游戏服务器来控制多人游戏通信。这是一个基于时间的游戏,因此服务器将处理诸如同步游戏开始、游戏完成时通知玩家以及比赛结果等事情。在这一点上,我只是想弄清楚从哪里开始构建游戏服务器,我真的很难找到任何好的资源来覆盖......

  1. 回合制游戏服务器的结构和实现方式。理想情况下,我想找到一本包含示例代码的书或在线文章,但我读过的每本讨论 iPhone 上的多人游戏的书都说同样的话,“开发 Web 服务器超出了本书的范围,但我们'将专注于连接到此类服务器所需的客户端代码。” . 我在哪里可以找到有关开发 Web 服务器的信息?!

  2. 使用好的库/API

  3. 安全问题和常见解决方案
  4. 现有的开源包
  5. 我一直想为其他即将进行的项目学习 Ruby on Rails,我想用一块石头杀死两只鸟,这个框架可以很好地实现一个回合制游戏服务器吗?

谁能帮助我找到一些涵盖该主题的好书或在线资源?还是直接回答我的问题?我不得不认为开发游戏服务器对于任何为 iOS 游戏中心构建游戏的人来说都是一个非常常见的问题,因为它们中的大多数都是多人游戏,但我不明白为什么没有资源可以涵盖它是如何完成的。

非常感谢您的帮助!

0 投票
3 回答
708 浏览

iphone - GameCenter - 考虑应用内购买

在我看来,Apple 有点急于实施 GameCenter。也许我忽略了一些东西。

如果你创建一个游戏,你想提供应用内购买(比如你想出售额外的地图或附加组件),有没有办法使用 GKMatchRequest 匹配共享相同地图(复数)的玩家?即其应用内购买重叠,但不完全相同。

或者,也许您想在赛车游戏中出售汽车。您如何匹配共享部分汽车而不是全部汽车的玩家?我认为您不能,因为 GKMatchRequest 中的 playerGroup 属性仅在用户属于同一组时进行比较。

因此,如果一个用户购买了地图 A 和地图 B,而另一个用户购买了地图 B 和地图 C,则无法匹配他们,尽管他们可以一起玩地图 B。当然,您可以实现您的界面,以便用户必须指定他们想要在哪个地图上玩。但在其他情况下,应用内购买可能不是一个非此即彼的问题,但可能会在游戏中结合使用(例如,如果您可以在战斗游戏中购买不同类型的士兵,然后匹配共享部分士兵的玩家)类型...然后您可以在游戏本身中实现逻辑以排除玩家不共享的那些类型)。

谁能想到一个可行的解决方案?

0 投票
2 回答
9488 浏览

iphone - iPhone GameKit:与沙盒通信 - GKErrorDomain 代码 3

有人对 GameKit GKErrorDomain Code 3 有任何经验吗?当我尝试将分数上传到沙盒中的排行榜时收到错误消息。iOS 参考库只是说Indicates that an error occurred when communicating with Game CentreThe Here is the full error message:

环境:

  • 该请求是从 4.​​1 模拟器发出的
  • GameKit 已对登录沙盒的本地玩家进行身份验证
  • 名称为“标准”的排行榜已在 iTunes 连接上创建
  • 我可以在模拟器中浏览网页

这是我用来上传分数的代码

0 投票
1 回答
291 浏览

objective-c - 为什么新的 iOS GameKit 会在代理和块之间拆分?

可能最近对 GameKit 的修订只是块的技术演示。或者,某些 GameKit API 的“返回”功能太无关紧要,不值得专门的委托类,现在块实现了非正式协议的功能。

虽然这感觉像是一个主观问题,但也许有一个明确的答案:“为什么 GameKit 的 API 会在委托类和块之间分裂?”

编辑:请参阅http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/上的文档

0 投票
1 回答
597 浏览

iphone - GameCenter - 处理来电等

在以下情况下你会怎么做:

  1. 在实现多人游戏时,您可以使用 GKMatchmaker 来查找玩家。
  2. 当所需数量的玩家连接时,您开始比赛。
  3. 现在其中一名玩家接到来电。

现在怎么办?如果用户接听电话,应用程序将移至后台,与 GameCenter 的连接将丢失,对吗?

怎么处理球员和怎么处理比赛?

我想您必须将已断开连接的玩家视为输掉该游戏,并尝试与其余玩家继续比赛。

有没有人想出更好的方法来处理这个问题?

0 投票
2 回答
858 浏览

iphone - 网络故障后如何保存并重试报告GKAchievement?

Apple 表示,如果您想报告 GKAchievement 但遇到网络错误,处理此问题的最佳方法是保存 GKAchievement(可能将其添加到数组中),然后定期尝试报告成就。

保存成就的最佳位置是什么?NSUserDefaults 就足够了,还是属性列表是更好的方法?

我应该在什么时候以及多久报告一次?在应用程序启动时,还是每 10 分钟一次?