如何在 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(...
嘿,我试图为 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(...