我正在尝试使用overlaySKScene
为SceneKit场景构建叠加层。但由于某种原因,我设置SKShapeNode
后,广告fillColor
将显示为正方形。
与SKView
一起使用时,相同的节点将正确显示。
简单的游乐场示例(需要“在完全模拟器中运行”):
import UIKit
import SpriteKit
import SceneKit
import XCPlayground
let skScene = SKScene(size: CGSizeMake(500, 300))
skScene.scaleMode = .AspectFit
let node = SKShapeNode(circleOfRadius: 50)
node.position = CGPoint(x: 250, y: 150)
node.fillColor = SKColor.redColor()
node.strokeColor = SKColor.grayColor()
skScene.addChild(node)
let scnScene = SCNScene()
let scnView = SCNView(frame: CGRect(x: 0, y: 0, width: 500, height: 300))
scnView.scene = scnScene
scnView.overlaySKScene = skScene
XCPShowView("Live View 1", scnView)
let skView = SKView(frame: CGRect(x: 0, y: 0, width: 500, height: 300))
skView.presentScene(skScene)
XCPShowView("Live View 2", skView)
答案 0 :(得分:3)
在写这篇文章时,我找到了解决方案。我以编程方式创建SKScene,我必须明确设置shouldEnableEffects
,backgroundColor
和blendMode
。
skScene.shouldEnableEffects = true
skScene.backgroundColor = SKColor.clearColor()
skScene.blendMode = .Alpha