私はtouchesBegan
とを使用して移動できる3 SKSpriteNodes
のゲームを持っています。しかしながら、ユーザがnodeA
を移動し、nodeB
と呼ばれる別のノードを渡すとき、nodeB
はnodeA
のように続きます。SpriteKitで一度に複数のノードを移動する
SKSpriteNodes
の配列を作成し、for-loop
を使用して簡単に使用できます。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let nodes = [nodeA, nodeB, nodeC]
for touch in touches {
let location = touch.location(in: self)
for node in nodes {
if node!.contains(location) {
node!.position = location
}
}
}
}
すべてがnodeB
がnodeA
に従う、nodeA
はnodeB
でパスを移動し、交差された場合を除いて取り組んでいます。
は、どのように私はそれnodeB
がnodeA
に従わないと、ユーザがnodeB
を通じてnodeA
とnodeA
パスを移動しているときというように作ることができます。
のための特別なノード変数を持っている、これは便利ですアプローチ。 –
マルチタッチの使用を計画している場合は、終了したタッチのループが異なるタッチを区別するために必要ですが、おそらくこのチェックを追加する必要があります – Knight0fDragon
これは良いアプローチですが、タッチするユーザーはそれらを許可します。 –