【问题标题】:How to transition between scenes in sceneKit SCNView如何在sceneKit SCNView中的场景之间转换
【发布时间】:2015-11-04 04:50:56
【问题描述】:

嘿,我尝试为 SceneKit 修改的这段代码中有一个错误。我试图从精灵套件场景转到 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)

【问题讨论】:

    标签: swift scenekit


    【解决方案1】:

    你必须:

    import SceneKit
    import SpriteKit
    

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

    【讨论】:

    • 这些都在我的控制器/我的代码的顶部。你的意思是把它放在我上面的实际转换代码中
    • 不只是你的 SCNView 所在的类。如果自动完成一切正常
    【解决方案2】:

    SceneKit 中的“presentScene”API 在您的代码中缺少一些额外的参数。您需要指定传入的观点并提供一个完成处理程序(两者都可以为 nil)。

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

    【讨论】:

    • 你能把它写出来,就像你在你的项目中实际使用它一样,或者你能从问题中重写我的代码吗
    猜你喜欢
    • 2019-06-20
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 2020-03-23
    相关资源
    最近更新 更多