2016-02-03 78 views
0

我無法找到此答案。如果我有一個設置場景要滑過另一個場景,那麼如何在不移除原始場景的情況下執行此操作。我希望能夠將設置場景轉換到遊戲的頂端,並且當他們點擊「返回」時,讓設置場景向上滾動並消失。Swift:在另一場景中呈現場景

+0

我該如何區分我是否想要擺脫以前的場景?我可以想象想擺脫最後一幕,所以它不會阻塞記憶。 –

+0

只需使用「以模態呈現,在整個屏幕上,覆蓋垂直」segue – Paulw11

+0

如果這三個用於顯示未取消分配最後一個視圖,如果我想取消分配它,我會使用哪個?例如,切換到遊戲的新視圖以在玩家輸掉時重新開始。 –

回答

1

不知道爲什麼大家都在討論視圖控制器,但最簡單的方法來實現你想做的事情並不涉及多個場景。

在SpriteKit中,一次只能有1個場景。

所以你做了什麼,你有一個SKNode將用於你的設置場景,還有一個SKNode用於你的主要內容。

將所有設置節點放置在此設置SKNode中,就像場景一樣。

將您的所有主要內容放入主SKNode。

將主節點添加到場景中以獲得正常的遊戲功能。

向設置節點提供高z位置,使其位於頂部。

然後,當您需要顯示設置節點時,將其位置設置爲屏幕高度+ SKNodes高度的1/2(除非您更改定位點)。

如果需要,暫停主節點。

在設置節點上使用SKAction,使其向下移動到您需要的屏幕上。 (SKAction.moveToX(x:y:)應該爲你工作)。

然後,當您需要離開時,只需調用SKAction的反向並取消暫停主節點即可。

相關問題