2017-08-28 28 views
0

我一直在使用遊戲開發一段時間,現在我正嘗試在暫停菜單中進行編碼。我一直在瀏覽論壇和視頻,但我仍然不明白如何在暫停菜單中實現。我在左上角有一個暫停按鈕,我想點擊暫停。然後覆蓋一個菜單,比如改變項目的z位置,使它們現在可見。然後有按鈕,如簡歷和主菜單分別做他們被稱爲。編碼方面我還是很新的,所以我們將不勝感激。我正在處理掉落的物體和移動的球員,所以如果我需要全部凍結它們,那麼一旦恢復解凍就可能是我不確定的解決方案。謝謝:D在Xcode中創建一個暫停菜單SpriteKit

回答

0

我已經嘗試過各種方法來做到這一點,但沒有找到一種適用於任何應用程序/遊戲的令人滿意的方法。這很大程度上取決於您的遊戲如何運作。作爲一個起點,你可能需要考慮暫停SKScene - 這應該停止很多動畫(但你可能需要做額外的工作)。

您可以添加某種模糊效果或覆蓋,然後添加一個取消暫停按鈕,然後暫停場景。觸摸仍然會在暫停時被檢測到,但暫停後不會有任何動畫或更新發生。下面的代碼應該可以暫停場景。

let pauseAction = SKAction.run { 
    self.isPaused = true 
    debugPrint("Paused") 
} 
self.run(pauseAction) 

暫停在動作場面的原因是,任何的addChild調用將不會被處理,如果你直接設置isPaused得到。 actualPaused只是一個bool變量,用於跟蹤場景應該暫停還是不停止(如果父視圖未暫停,場景也將被暫停)。順便說一句,你不需要使用一個動作來設置isPaused爲false。

你也許還應該看看如何實現觀察員

NSNotification.Name.UIApplicationWillResignActive 
NSNotification.Name.UIApplicationDidEnterBackground 
NSNotification.Name.UIApplicationWillEnterForeground 

,你還需要知道你的遊戲已經可以通過控制中心或home鍵發送至後臺。