2016-01-21 3 views
1

Я написал поиск местоположения для точек касания в моей функции touchhesBegan, я хочу ограничить количество точек касания, разрешенных в контроллере представления, до 2, но я не вполне знаю, как это сделать. Небольшая помощь была бы фантастической.Как ограничить количество касаний в touchhesBegan в swift Spritekit

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    for touch: AnyObject in touches { 
    let location = touch.locationInNode(self) 


    Object.physicsBody?.affectedByGravity = true 
    Object2.physicsBody?.affectedByGravity = true 
    Object3.physicsBody?.affectedByGravity = true 


    if Object.containsPoint(location) { 
    Object.physicsBody?.velocity = CGVectorMake(0, 0) 
    Object.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 135)) 

} 

     if Object2.containsPoint(location) { 
      Object2.physicsBody?.velocity = CGVectorMake(0, 0) 
      Object2.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 135)) 
} 


     if Object3.containsPoint(location) { 
      Object3.physicsBody?.velocity = CGVectorMake(0, 0) 
      Object3.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 135)) 



    } 

    } 


     } 
+0

Разъяснение: Я не хочу, чтобы пользователи имели возможность размещать более двух пальцев на экране одновременно. – Xcoder555

+0

Это очень похоже на другой вопрос: http://stackoverflow.com/questions/13013264/limit-touches-recognized-on-uiscrollview –

+0

Этот вопрос задан в Objective C. – Xcoder555

ответ

2

Как вы видите touches является объектом Set структуры, и имеет мощность в этом случае touches.count Так дело в том, чтобы найти эту мощность, сравнить его с 2 и выполнить действие, только если он меньше или равным 2.

Так идет как этот

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    if touches.count <= 2 { 
     for touch: AnyObject in touches { 
      // do stuff 
      } 
     } 
    } 
+0

@ Xcoder555 Пожалуйста, воздержитесь или отметьте как ответ, если найдете это полезно –

Смежные вопросы