SKShapeNode不能绘制UIBezierPath

3

在 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个回答

3

你的形状没有显示是因为你没有给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)

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接