Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在单个屏幕中组合scenekit和spritekit_Swift_Sprite Kit_Scenekit - Fatal编程技术网

Swift 在单个屏幕中组合scenekit和spritekit

Swift 在单个屏幕中组合scenekit和spritekit,swift,sprite-kit,scenekit,Swift,Sprite Kit,Scenekit,抱歉,如果这是一个新手问题,我仍在努力找到我的方法来解决Swift和SpriteKit/SceneKit 是否可以在单个视图中组合SpriteKit和SceneKit,例如使用SpriteKit在部分屏幕中渲染地图,同时使用SceneKit渲染主3D视图?可以,并且已在WWDC的各种演示中显示。 请查看SCNSceneRenderer的overlyskscene属性在SceneKit中使用SpriteKit的一种方法如下: SCNView *sceneView = [[SCNView alloc

抱歉,如果这是一个新手问题,我仍在努力找到我的方法来解决Swift和SpriteKit/SceneKit


是否可以在单个视图中组合SpriteKit和SceneKit,例如使用SpriteKit在部分屏幕中渲染地图,同时使用SceneKit渲染主3D视图?

可以,并且已在WWDC的各种演示中显示。
请查看
SCNSceneRenderer
overlyskscene
属性
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;

我在某处听说,可能是WWDC,另一种方法——在SpriteKit上绘制SceneKit——应该是可能的,但还没有找到一些确凿的事实。有什么线索吗?