在我的多人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. Gamecenter sanbox:我想在ios6中禁用自動匹配的玩家from gamecenter
- 6. 請告訴我通過參考
- 7. 請告訴我配置時
- 8. GameCenter回合制匹配
- 9. 請告訴我
- 10. 通過FB邀請朋友在Ios中自己申請
- 11. QRegExp只是不匹配!請告訴我我在做什麼錯
- 12. NFC - 我可以通過NdfMessage到iOS嗎?
- 13. 我可以告訴iOS設備是否收到推送通知?
- 14. 我可以通過請求中的數據告訴用戶行爲?
- 15. 我可以告訴WAS在回收後啓動新的AppPool嗎?
- 16. 可以通過ruby告訴我網絡flv視頻的長度嗎? (ruby)
- 17. 我可以告訴direct3d使用alpha通道渲染嗎?
- 18. 帶有playerGroup的iPhone GameCenter邀請
- 19. 我可以通過MongoDB匹配對象添加或排序嗎?
- 20. 請告訴我確定可用性或我的系統
- 21. 邀請朋友通過Facebook使用我的ios應用程序
- 22. 我可以通過聲明啓動一個類的對象嗎?
- 23. 我可以通過jQuery自動完成匹配輸入而不需要通過下拉菜單嗎?
- 24. VS2010可以告訴我哪個頭文件在聲明中拉?
- 25. iOS 10遊戲中心通過消息傳遞邀請
- 26. 有人能告訴我正則表達式會匹配嗎?
- 27. 請告訴我以降低PNG
- 28. 有人可以告訴我如何讓這個紅綠燈自動工作嗎?
- 29. 我可以告訴MVC自動將pascal-cased屬性分爲單詞嗎?
- 30. 我可以通過Subversion subrepository獲取Mercurial以自動簽出嗎?
所以,這是一個相當古老的尚未解答的問題,但現在最新的iOS,它發生了什麼,我總是擔心:didFindMatch現在返回與已連接的所有球員,所以我不能再分辨邀請發起的遊戲自動配對。 其他人有線索如何解決這個問題?有什麼方法可以找出誰首先進入自動匹配工作?也可以將第一個進入自動匹配的人放入駕駛員座位,但我不知道如何以穩定的方式實現該功能,而不是提供序列信息或集中時間戳的遊戲中心。 – habitoti 2012-09-15 06:35:19