2016-05-15 43 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