最初に で線を引きSKShapeNode
ます。
var path = CGPathCreateMutable()
p0 = CGPointMake(-(self.frame.size.width/2), 100.0)
CGPathMoveToPoint(path, nil, p0.x, p0.y)
p1 = CGPointMake(self.frame.size.width/2, 100.0)
CGPathAddLineToPoint(path, nil, p1.x, p1.y)
line = SKShapeNode(path: path)
line.strokeColor = UIColor.purpleColor()
addChild(line)
これはうまくいきます。画面全体に紫色の線が引かれます。1秒間に60回呼び出される更新関数でその行のパスを更新しようとしています。これにより、ユーザーの指に基づいて線が湾曲します。
override func update(currentTime: CFTimeInterval) {
var path = CGPathCreateMutable()
CGPathMoveToPoint(path, nil, p0.x, p0.y)
CGPathAddQuadCurveToPoint(path, nil, fingerLocation.x, fingerLocation.y, p1.x, p1.y)
line.path = path
}
更新機能が実行されるとすぐに、行は消えます。のパスを更新する正しい手順を使用しているかどうかわかりませんSKShapeNode
。その方法に関する情報が見つからないようです。を使用してメソッドfingerLocation
から取得します。touchesMoved
touch.locationInNode(self)