上下文
此問題與Swift: SKSpriteKit, using Storyboards, UIViewController and UIButton to set in game parameters?相關,並使用相同的M.W.E. (下方鏈接)。Swift:使用StoryBoards和UIViewControllers在GameScene中滿足條件後返回主菜單?
雖然這個故事板將允許人們從左至右通過點擊進度:
遊戲 - >(易/硬) - >GameScene
UIViewController
- >MyUIViewController
- >GameViewController
,由右點擊最後UIViewController
上的UIButton
與UILabel
陳述「得分」,但沒有辦法從GameViewController
到最後的UIViewController
與「得分」UILabel
。
問題
鑑於GameScene
過程中發生的某些事件,我怎麼能傳遞一些信息,從GameScene
(例如分)和過渡到最後的最後UIViewController
,使用戶可以重新開始遊戲。除了刪除GameViewController
中的所有內容外,還有一些不可接近的GameScene
的舊實例。
對於某些條件,讓我們點擊M.W.E中的紫色精靈。對於這些信息,讓它像是直到精靈被按下的時間一樣簡單,甚至只是一個隨機數。
最低工作實例
注
我的答案here - 這裏StackOverflow SKSpriteKit with Menu實現 - 表明,這是完全可能的,但貶謫一切SKView
真是讓人不是使用storyboard
。因此,如果可能,請保留與使用此混合storyboard
- SKView
方法有關的答案,以及如何讓GameScene
調用「Score」 - UIViewController
。
您是否熟悉委託模式?這是子視圖與父母溝通的常用方式。這[SO帖子](http://stackoverflow.com/questions/39561177/how-can-i-indicate-a-view-which-has-created-with-uikit-from-a-skscene/39564948#39564948)顯示了基本的想法並執行了放鬆的過程。委託協議可以擴展爲包含一個評分屬性,所以場景可以在值更改時通知它的ViewController。 –
@MarkBrownsword沒有。我不是,你能否用這個M.W.E解釋它:https://github.com/SumNeuron/StackOverflow-SKSpriteKit-with-Menu – SumNeuron