В моей игре я использую SKActions в последовательности для перемещения узла (весла в этом случае) в определенное место и обратно, эта часть работает нормально. Весла перемещается всякий раз, когда пользователь прикасается к ней на экране. Мой код это выглядит следующим образом:Swift - После того, как узел коснулся задержки до тех пор, пока его не коснется снова
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first!
let touchLocation = touch.location(in: self)
let nodeTouched:SKPhysicsBody? = self.physicsWorld.body(at: touchLocation)
let ballNode = self.childNode(withName: ballName)
if nodeTouched?.node?.name == RpaddleName {
if !paddleRTouched {
paddleRTouched = true
let Rpaddle = self.childNode(withName: RpaddleName) as! SKSpriteNode
let startPosition = CGPoint(x: 301.7, y: 87)
let newPosition = CGPoint(x: 226.7, y: 87)
let moveToNew = SKAction.move(to: newPosition, duration: 0.5)
let moveToOld = SKAction.move(to: startPosition, duration: 0.5)
let delay = SKAction.wait(forDuration: 0.5)
let sequence = SKAction.sequence([moveToNew,delay,moveToOld])
Rpaddle.run(sequence)
paddleRTouched = false
Однако мне нужно создать 5-секундную задержку, во время которой лопатка не может быть перемещен, если тот, кто прикасается (например отключение в течение определенного периода времени). Как я могу это сделать?
благодаря работал отлично –