overlaySKSScene 不工作:SCNView 中没有出现 SpriteKit 场景
overlaySKSScene not working: SpriteKit scene does not appear in SCNView
and this 等类似问题的回答未能解决问题。
将 SpriteKit 场景分配给 SCNView 的 overlaySKScene
属性 没有任何作用:SpriteKit 场景根本不会出现。
在 iPhone 7 和模拟器上测试。
运行 下面的代码显示空白屏幕。
@IBOutlet weak var sceneView: SCNView!
override func viewDidLoad() {
let skScene = SKScene(size: UIScreen.main.bounds.size)
skScene.backgroundColor = UIColor.black
let node = SKSpriteNode(imageNamed: "AddButton.png")
skScene.addChild(node)
sceneView.overlaySKScene = skScene
sceneView.overlaySKScene!.scaleMode = .resizeFill
sceneView.overlaySKScene?.isHidden = false
}
设置默认 SceneKit 项目后,以下代码对我有用。
override func viewDidLoad() {
super.viewDidLoad()
let scene = SCNScene(named: "art.scnassets/ship.scn")!
let scnView = self.view as! SCNView
scnView.scene = scene
let skScene = SKScene(size: UIScreen.main.bounds.size)
let node = SKSpriteNode(imageNamed: "testImage.png")
skScene.addChild(node)
scnView.overlaySKScene = skScene
scnView.overlaySKScene!.scaleMode = .resizeFill
}
除非在视图上设置了 SCNScene
,否则不会显示叠加视图,并且 SKScene
的背景颜色没有效果。
将 SpriteKit 场景分配给 SCNView 的 overlaySKScene
属性 没有任何作用:SpriteKit 场景根本不会出现。
在 iPhone 7 和模拟器上测试。
运行 下面的代码显示空白屏幕。
@IBOutlet weak var sceneView: SCNView!
override func viewDidLoad() {
let skScene = SKScene(size: UIScreen.main.bounds.size)
skScene.backgroundColor = UIColor.black
let node = SKSpriteNode(imageNamed: "AddButton.png")
skScene.addChild(node)
sceneView.overlaySKScene = skScene
sceneView.overlaySKScene!.scaleMode = .resizeFill
sceneView.overlaySKScene?.isHidden = false
}
设置默认 SceneKit 项目后,以下代码对我有用。
override func viewDidLoad() {
super.viewDidLoad()
let scene = SCNScene(named: "art.scnassets/ship.scn")!
let scnView = self.view as! SCNView
scnView.scene = scene
let skScene = SKScene(size: UIScreen.main.bounds.size)
let node = SKSpriteNode(imageNamed: "testImage.png")
skScene.addChild(node)
scnView.overlaySKScene = skScene
scnView.overlaySKScene!.scaleMode = .resizeFill
}
除非在视图上设置了 SCNScene
,否则不会显示叠加视图,并且 SKScene
的背景颜色没有效果。