2016-03-31 118 views
1

我在玩iOS 9.2 SpriteKit(使用Swift 2. *),並不確定在屏幕底部是否有按鈕「面板」應該是嵌套場景。這對我來說感覺不正確,但我還沒有發現有關場景嵌套主題的任何文檔。我附上了一個屏幕截圖。橙色位是屏幕截圖中的模型,並不是實際的代碼。iOS SpriteKit場景 - 多場景在屏幕上

底部的按鈕位於按鈕「區域」(只是我編制的一個術語),它是橙色的。控制器創建的場景是具有「星空」背景的「遊戲場景」。

那麼,下面的橙色面板應該是它自己的場景還是帶有按鈕子節點的SKNode子類,所有在遊戲場景中?

enter image description here

回答

2

不,你不希望有嵌套的場景。即使它在理論上也是可能的,它將作爲一個常規節點(沒有一些醜陋的黑客攻擊),這不是SKScene的目的。在SpriteKit遊戲模板中,您只有一個SKView,並且它只有一個場景屬性。所以一切都是爲了當時呈現一個場景。

你想要的是使用SKNode/SKSpriteNode ...通常,人們創建HUD層,它是SKNode,然後在其中添加元素。這不是必須的,你可以直接將這些按鈕添加到場景中。

1

另一種替代方法是使用UIKitUILabels,UIButtons等)元素作爲HUD,其中SKView是最底層。這種方法要容易得多,因爲您可以使用自動約束來繪製HUD,而不必擔心不同的設備,但請注意,如果您有很多事情發生,它可能會對性能產生影響。