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)' AccumulatedFrame:{{0, 0}, {0 , 0}}'
なぜこうなった?