ドラッグ・フィンガーで線を描きたいので、最初のタップ位置から現在の線まで線を引くことができます。しかし、私は前に描いた線を削除することはできません。私はこのコードを使って行を削除します。ios - SKShapeNodeを使用した線の描画と削除
for line in self.children {
line.removeFromParent()
}
ただし、新しい行を追加すると、削除された行がすべて表示されます。
下記のコードがあります。
import SpriteKit
import GameplayKit
class GameScene: SKScene {
private var label : SKLabelNode?
private var spinnyNode : SKShapeNode?
// For Line
var startPoint: CGPoint?
var path = CGMutablePath()
override func didMove(to view: SKView) {
}
func touchDown(atPoint pos : CGPoint) {
print("touchDown")
startPoint = pos
}
func touchMoved(toPoint pos : CGPoint) {
print("touchMoved")
for line in self.children {
line.removeFromParent()
}
plotLine(atPoint: startPoint!, toPoint: pos)
}
func plotLine(atPoint start: CGPoint, toPoint end: CGPoint) {
path.move(to: start)
path.addLine(to: end)
let temp_shape = SKShapeNode()
temp_shape.path = path
temp_shape.strokeColor = UIColor.white
temp_shape.lineWidth = 2
self.addChild(temp_shape)
}
どこが「ライン」と呼ぶノードの定義は? –