如何在 sceneKit SCNView 中切换场景

How to transition between scenes in sceneKit SCNView

嘿,我试图为 SceneKit 修改的代码中有一个错误。我正在尝试从 sprite kit 场景 goo 到 SCNcene

下面的代码不工作:

    let scene = PlayController()
    let scnView = self.view as! SCNView
    scnView.scene = PlayController()
    scene.size = scnView.bounds.size
    scene.scaleMode = .AspectFill
    let reveal = SKTransition.fadeWithDuration(0.45)
    scnView.presentScene(scene, transition: reveal)

代码工作但仅适用于 SpriteKit 以下:

        let scene = GameScene()
        let sKView = self.view! as! SKView
        sKView.ignoresSiblingOrder = true
        scene.size = sKView.bounds.size
        scene.scaleMode = .AspectFill
        let reveal = SKTransition.fadeWithDuration(0.45)
        sKView.presentScene(scene, transition: reveal)

SceneKit 中的 "presentScene" API 在您的代码中缺少一些额外的参数。需要指定传入的视点,并提供一个completion handler(两者都可以为nil)。

- (void)presentScene:(SCNScene *)scene withTransition:(SKTransition *)transition incomingPointOfView:(nullable SCNNode *)pointOfView completionHandler:(nullable void (^)())completionHandler NS_AVAILABLE(10_11, 9_0);

你必须:

import SceneKit
import SpriteKit

在自动完成识别您想要的内容之前。现在您可以输入 scnView.presentScene(...