【发布时间】:2014-12-01 22:57:28
【问题描述】:
抱歉,如果这是一个新手问题,我仍在尝试在 Swift 和 SpriteKit / SceneKit 中找到自己的方法。
是否可以将 SpriteKit 和 SceneKit 组合在一个视图中,例如使用 SpriteKit 在屏幕的一部分中渲染地图,同时使用 SceneKit 渲染主 3D 视图?
【问题讨论】:
标签: swift sprite-kit scenekit
抱歉,如果这是一个新手问题,我仍在尝试在 Swift 和 SpriteKit / SceneKit 中找到自己的方法。
是否可以将 SpriteKit 和 SceneKit 组合在一个视图中,例如使用 SpriteKit 在屏幕的一部分中渲染地图,同时使用 SceneKit 渲染主 3D 视图?
【问题讨论】:
标签: swift sprite-kit scenekit
是的,你可以,它在 WWDC 的各种演示中都有展示。
查看SCNSceneRenderer 的overlaySKScene 属性。
【讨论】:
在SceneKit 中使用SpriteKit 的一种方式如下:
SCNView *sceneView = [[SCNView alloc] initWithFrame:[[UIScreen mainScreen] bounds] options:@{@"SCNPreferredRenderingAPIKey": @(SCNRenderingAPIOpenGLES3)}];
[self.view addSubview:sceneView];
sceneView.scene = [SCNScene scene];
// ... whatever else you're doing
SKContainerOverlay *skOverlay = [[SKContainerOverlay alloc] initWithSize:self.sceneView.bounds.size];
skOverlay.delegate = self;
self.sceneView.overlaySKScene = skOverlay; // the key to your question
self.sceneView.overlaySKScene.hidden = NO;
self.sceneView.overlaySKScene.scaleMode = SKSceneScaleModeResizeFill;
【讨论】: