在我的多人iOS游戏中,一名玩家必须是“主人”并决定某些游戏设置。当他通过GC邀请朋友时,很明显他是坐在驾驶座上的,但是当通过自动匹配将人们聚集在一起时,我需要做一个吸管程序来让一个人做出选择的对话。 现在我不知道如何从一侧明确发起的设置告诉自动匹配连接。 是否可以从某些API行为中扣除任何想法?我认为didFindMatch调用总是返回至少有一个被邀请的玩家,如果它不是纯粹自动匹配的(这至少是一个观察),但是文档没有明确证实并说明它最初可能是空的。我可以通过明确的邀请告诉iOS Gamecenter自动匹配吗?
回答
我有这个相同的问题,并最终得出结论,唯一的方法是跟踪和消息自己。
以我的情况下,引发剂侧跟踪游戏是如何开始,并将该信息发送作为用于设置在游戏的初始消息序列的一部分。
这是一个耻辱的API似乎并没有提供这种信息,因为它似乎是有益的,应随时提供给游戏中心。
加入自动匹配意味着托管或加入一个,并且除非您明确选择它(“加入现有游戏”与“主持一场比赛”,否则将大幅减少可用的合作伙伴)。 – habitoti 2012-10-06 07:17:41
我现在通过使用NSDate“自1972年以来的秒数”时间戳(它是全局有效的,而不是时区调整的)来确定自动匹配合作伙伴加入时的“司机座位”。首先发起游戏的人被选为主持人。这工作得很好,你可以假设全球的所有时钟都可以很好地适应网络连接的设备(至少这不是火箭科学,而只是一个游戏;-) – habitoti 2012-10-06 07:21:36
坚果。我认为这是一个使用时间戳的好主意,但看起来它毕竟不是很可靠。我只是用我的iphone 4和我的ipod进行了测试,并且无论我尝试了什么,iPhone似乎都有最早的时间戳。 – PWiggin 2013-09-03 21:45:22
- 1. 基于iMessaged的GameCenter iOS 10的邀请
- 2. 我可以告诉scala.xml匹配任何两个标签吗?
- 3. 我可以手动告诉google gclid吗?
- 4. 我可以告诉通过DataOutput.writeUTF写了多少字节吗?
- 5. 请告诉我通过参考
- 6. 请告诉我配置时
- 7. 请告诉我
- 8. 通过FB邀请朋友在Ios中自己申请
- 9. QRegExp只是不匹配!请告诉我我在做什么错
- 10. 我可以通过请求中的数据告诉用户行为?
- 11. 带有playerGroup的iPhone GameCenter邀请
- 12. 可以通过ruby告诉我网络flv视频的长度吗? (ruby)
- 13. 我可以告诉direct3d使用alpha通道渲染吗?
- 14. 请告诉我确定可用性或我的系统
- 15. iOS 10游戏中心通过消息传递邀请
- 16. VS2010可以告诉我哪个头文件在声明中拉?
- 17. 有人能告诉我正则表达式会匹配吗?
- 18. 请告诉我以降低PNG
- 19. 有人可以告诉我如何让这个红绿灯自动工作吗?
- 20. 我可以告诉MVC自动将pascal-cased属性分为单词吗?
- 21. 我可以告诉findbugs忽略我无法添加的类吗?
- 22. 请告诉我的 ')' 在statment
- 23. 请告诉我EFCore.Tools和EFCore.Tools.DotNet
- 24. 请告诉我,以验证与jQuery
- 25. 除非我明确告诉它,否则如何告诉自动测试不要重新运行所有测试?
- 26. PHP有人可以告诉我我做错了请
- 27. 通过SurveyMonkey中的API自动发送电子邮件邀请
- 28. 可以自动通知吗?
- 29. 有人可以告诉我在呼叫IOS的区别
- 30. 请告诉我OpenSSL中
所以,这是一个相当古老的尚未解答的问题,但现在最新的iOS,它发生了什么,我总是担心:didFindMatch现在返回与已连接的所有球员,所以我不能再分辨邀请发起的游戏自动配对。 其他人有线索如何解决这个问题?有什么方法可以找出谁首先进入自动匹配工作?也可以将第一个进入自动匹配的人放入驾驶员座位,但我不知道如何以稳定的方式实现该功能,而不是提供序列信息或集中时间戳的游戏中心。 – habitoti 2012-09-15 06:35:19