SKShapeNode没有绘制UIBezierPath

时间:2015-05-24 16:12:29

标签: ios swift cocoa-touch sprite-kit skshapenode

在我的SKScene的didMoveToView()内调用此代码:

let frame = CGRect(x: 30, y: 200, width: 100, height: 100)
let path = UIBezierPath(rect: frame)
UIColor.blackColor().setStroke()
path.stroke()
self.addChild(SKShapeNode(path: path.CGPath))

绝对没有。场景为空(它具有默认的SKScene灰色背景)。在这里,我只想绘制一个黑色的未填充矩形(这是使用SKShapeNode绘制路径的简化版本,原始的绘图代码更复杂)。

2 个答案:

答案 0 :(得分:2)

您的形状没有显示,因为您没有给SKShapeNode填充或描边颜色。您的代码应该是:

let path = UIBezierPath(rect: CGRect(x: 30, y: 200, width: 100, height: 100))

let shapeNode = SKShapeNode(path: path.CGPath)
shapeNode.strokeColor = UIColor.blackColor()
addChild(shapeNode)

答案 1 :(得分:1)

模拟器中还存在一个错误,阻止SKShapeNodes绘制路径。我发现相同的代码可以在硬件上正常工作。我没有解决方案让它在模拟器中显示。