我想简单地使用 SKShapeNode 画一条线。我正在使用 SpriteKit 和 Swift。
到目前为止,这是我的代码:
var line = SKShapeNode()
var ref = CGPathCreateMutable()
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
}
}
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let locationInScene = touch.locationInNode(self)
CGPathMoveToPoint(ref, nil, locationInScene.x, locationInScene.y)
CGPathAddLineToPoint(ref, nil, locationInScene.x, locationInScene.y)
line.path = ref
line.lineWidth = 4
line.fillColor = UIColor.redColor()
line.strokeColor = UIColor.redColor()
self.addChild(line)
}
}
每当我运行它并尝试画一条线时,应用程序崩溃并出现错误:原因:'尝试添加一个已经有父节点的 SKNode:SKShapeNode 名称:'(null)'累积帧:{{0、0}、{0 , 0}}'
为什么会这样?