2016-05-15 41 views
1

我在遊戲上使用了SceneKit。在Scene Kit上適合相機視圖的界面

在某個時候我需要顯示一個菜單。該菜單具有背景,按鈕和文本,正如菜單中的預期一樣。

假設這個菜單是使用UIKit創建的。如果是這種情況,背景圖像將具有前/後/上/下約束,以將每一側粘貼到屏幕的一側。我如何使用SceneKit來做到這一點?我希望背景可以連接到屏幕的四邊,而不受屏幕尺寸(iPhone 4,5,6,6+)的影響。

爲了簡單起見,相機在菜單顯示時是正確的。我想這種方法會涉及到定位相機,它的兩側適合背景多邊形。或者,如果無法計算某個x,y,z上的平面的大小,必須完全填滿屏幕。

一切都必須使用SceneKit完成。沒有UIKit。

有沒有辦法做到這一點?

注意:整個菜單是在SceneKit中創建的。

回答

1

顯示SCNScene的SCNView是UIView的子類。因此,您可以使用四個約束將菜單的每一側附加到SCNView的兩側,並使用約束的常量屬性爲視圖添加和移出動畫。只需將菜單視圖添加到SCNView的超級視圖,它將在場景中顯示。

+0

我不確定我的問題是否足夠清楚。我認爲這不是因爲你的回答似乎意味着菜單是UIKit。我將這些信息添加到菜單全部在SceneKit中創建的問題中。在這種情況下你的答案是否有效?如果這個問題誤導了你,謝謝並抱歉。 – SpaceDog

+1

無論你在菜單視圖中放置什麼。它可以是您的自定義控件的另一個SCNView,也可以是使用UIKit構建的標準接口。安迪的方法是有效的。不過,您可能會考慮使用SCNView的overlaySKScene並在SpriteKit中執行界面。你可能會看到更好的幀率。 –

+0

由於一個原因,該解決方案無法解決問題:該技術顯示如何將視圖居中在窗口上,而不是如何將對象置於視圖上。 – SpaceDog