Spritekit - Как добавить жестом салфетки к нескольким узлам сразу?

Я пытаюсь добавить жестом салфетки для нескольких узлов одновременно, но, похоже, он работает только для первого узла. Когда я пытаюсь прокручивать другие узлы, он не регистрируется, есть салфетки. Существует только один узел, но он многократно копируется в файл.sks для заполнения экрана. Все узлы имеют одно и то же имя, так как это копия, я надеюсь повторно использовать их для заполнения экрана, как только один из узлов будет удален.

let plankName = "woodPlank"

class PlankScene: SKScene {

  var plankWood : SKSpriteNode?
  var plankArray : [SKSpriteNode] = []

  override func didMove(to view: SKView) {        
    plankWood = childNode(withName: "woodPlank") as? SKSpriteNode        
    let swipeRight : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(PlankScene.swipedRight))        
    swipeRight.direction = .right        
    view.addGestureRecognizer(swipeRight)        
  }


  func swipedRight(sender: UISwipeGestureRecognizer) {        
    if sender.direction == .right {          
      let moveOffScreenRight = SKAction.moveTo(x: 400, duration: 0.5)          
      let nodeFinishedMoving = SKAction.removeFromParent()          
      let waitForNode =   SKAction.wait(forDuration: 0.5)                    
      plankWood?.run(SKAction.sequence([moveOffScreenRight, nodeFinishedMoving]),
                     completion:{
                  })
      })
    }
  }

  override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let touch = touches.first
    let touchLocation = touch!.location(in: self)

    print("\(plankWood?.name)")
      if plankWood?.name == plankName {
        print("Plank touched")
    }
  }

  override func enumerateChildNodes(withName name: String, using block: @escaping (SKNode, UnsafeMutablePointer<ObjCBool>) -> Void) {        
    let swipeRight : UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(PlankScene.swipedRight))        
    swipeRight.direction = .right        
    view?.addGestureRecognizer(swipeRight)        
  }
}
+1
26 окт. '16 в 19:49
источник поделиться

Посмотрите другие вопросы по меткам или Задайте вопрос