[英]How to dismiss GKTurnBasedMatchmakerViewController from SKScene
[英]Retrieve GKTurnBasedMatch objects from GKTurnBasedMatchMakerViewController - Swift 4
我正在嘗試實現一個回合制多人游戲(2 人戰略棋盤游戲)。 我已成功驗證本地播放器並呈現 GKTurnBasedMatchmakerViewController(標准界面)。
我對如何檢索玩家選擇的 GKTurnBasedMatch 對象(如果可用)感到有些困惑。 GKTurnBasedMatchmakerViewControllerDelegate 協議的這種方法對於這個目的來說似乎很明智,但顯然它已被棄用。
func turnBasedMatchmakerViewController(_ viewController: GKTurnBasedMatchmakerViewController, didFind match: GKTurnBasedMatch)
任何提示將不勝感激!
我同意,實現這一目標的委托功能很有用。
我的解決方案是在呈現媒人視圖控制器的委托中注冊一個偵聽器,我們稱之為 mainVC。 MainVC 應該符合 GKLocalPlayerListener 協議。
// In mainVC
GKLocalPlayer.localPlayer().registerListener(self)
然后當玩家在標准界面中選擇一場比賽時,將調用以下函數,您必須在 mainVC 中實現該函數:
// in mainVC
func player(player: GKPlayer, receivedTurnEventForMatch match: GKTurnBasedMatch, didBecomeActive: Bool) {
// Dismiss the turnBasedMatchmakerViewController standard interface
// Load your match using the match object passed above
}
在此函數中,關閉與玩家匹配的標准界面,然后使用 segue 或其他方式加載您的游戲。
receivedTurnEventForMatch 函數是用已發生的事件更新匹配的標准方法。 它在以下情況下被調用:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.