我想从头开始使用Swift和SceneKit创建一个MacOS应用程序[使用Cocoa应用程序模板]。 不知怎的,我的叠加SpriteKit场景是不可见的,而相同的步骤在iOS上工作。
采取的步骤:
代码添加到viewDidLoad:
// Create scenekit-scene
// ---------------------
let scene = SCNScene()
let nodeCamera = SCNNode()
nodeCamera.camera = SCNCamera()
scene.rootNode.addChildNode(nodeCamera)
let box = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0)
box.firstMaterial?.diffuse.contents = NSColor.blue
let nodeBox = SCNNode(geometry: box)
nodeBox.position = SCNVector3(0,0, -2)
scene.rootNode.addChildNode(nodeBox)
// Add to view
sceneView.scene = scene
// Create spritekit-scene
// ----------------------
let spriteScene = SKScene(size: CGSize(width: sceneView.frame.width, height: sceneView.frame.height))
let nodelabel = SKLabelNode(fontNamed: "Menlo")
nodelabel.text = "SpriteKit"
nodelabel.fontColor = NSColor.black
nodelabel.position = CGPoint(x: spriteScene.size.width/2, y: spriteScene.size.height/2)
spriteScene.addChild(nodelabel)
// Add to scenekit
sceneView.overlaySKScene = spriteScene
在iOS模拟器中,我看到一个蓝色的立方体,中间是黑色的“SpriteKit”。在MacOS上我只看到蓝色立方体。
[BTW:有点奇怪:当我使用MacOS游戏模板[scenekit]时,overlaySKScene功能正常且可见。]
那么我错过了什么?
答案 0 :(得分:0)
在比较cocoa-template和游戏模板之间的故事板场景视图属性时,我注意到可可模板中的视图控制器视图在视图效果检查器中有一个复选标记&gt ;核心动画层。
取消选中时,OverlaySKScene变得可见。