如何从SKView过渡到SCNView?

时间:2015-11-16 09:11:04

标签: ios xcode swift sprite-kit transitions

嘿好我有一个UIView只是标准的默认控制器但是我在另一个.swift文件中有一个SCNView所以我可以从标准UIViewController转换到{{1但我无法从SKScene过渡到SKScene,我的代码中的问题是

SCNcene

我正在尝试转换到的控制器如上所示从UIViewController开始,然后在该行的下方得到 class PlayController: UIViewController, ADBannerViewDelegate, SKPhysicsContactDelegate, SKSceneDelegate, SCNSceneRendererDelegate, SCNPhysicsContactDelegate{ let scnView = self.view as! SCNView let skScene = scnView.overlaySKScene scnView.overlaySKScene = skScene scnView.backgroundColor = UIColor.whiteColor() scnView.scene = FieldScene scnView.delegate = self scnView.allowsCameraControl = true scnView.showsStatistics = false 。 在这行代码中让scnView = self.view为! SCNView但是当我尝试从SCNView转换到此场景时,我将如何在代码Swift中执行此操作?

我正在开始的控制器如下所示

SKScene

1 个答案:

答案 0 :(得分:3)

overlaySKScene

let skScene = scnView.overlaySKScenescnView.overlaySKScene = skScene的实施应该更改,因为它们无效

创建SKScene对象:let overlayScene = SKScene(size: CGSizeMake(200, 200))

设置基础对象的位置:base.position = CGPointMake(75, 0)

将基础对象添加到场景:overlayScene.addChild(base)

将场景设置为叠加:scnView.overlaySKScene = overlayScene

转换

您可以通过调用视图的 presentScene:withTransition:incomingPointOfView:completionHandler:方法来添加转换。

    sceneView.presentScene(nextSceneToLoad(),
    withTransition:skTransition,
    incomingPointOfView:nil, completionHandler:nil)

另一个例子。

let transition = SKTransition.pushWithDirection(.Right, duration: 1.0)
self.sceneView?.presentScene(SCNScene(), withTransition: transition, incomingPointOfView: nil, completionHandler: nil)

overlaySKScene API Reference

presentScene API Reference

相关问题