【问题标题】:Combining scenekit and spritekit in a single screen将scenekit和spritekit组合在一个屏幕中
【发布时间】:2014-12-01 22:57:28
【问题描述】:

抱歉,如果这是一个新手问题,我仍在尝试在 Swift 和 SpriteKit / SceneKit 中找到自己的方法。

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

【问题讨论】:

    标签: swift sprite-kit scenekit


    【解决方案1】:

    是的,你可以,它在 WWDC 的各种演示中都有展示。 查看SCNSceneRenderer 的overlaySKScene 属性。

    【讨论】:

    • 我在某个地方(可能是 WWDC)听说反过来——在 SpriteKit 之上绘制 SceneKit——应该是可能的,但还没有找到一些确凿的事实。有什么线索吗?
    【解决方案2】:

    在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;
    

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      相关资源
      最近更新 更多