使用fillColor时,在SceneKit overlaySKScene中使用时,圆形SKShapeNode显示为方形

时间:2015-08-14 11:33:45

标签: ios sprite-kit scenekit

我正在尝试使用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)

1 个答案:

答案 0 :(得分:3)

在写这篇文章时,我找到了解决方案。我以编程方式创建SKScene,我必须明确设置shouldEnableEffectsbackgroundColorblendMode

    skScene.shouldEnableEffects = true
    skScene.backgroundColor = SKColor.clearColor()
    skScene.blendMode = .Alpha