Перемещайте две ракетки одновременно в SpriteKit + Swift

Я делаю простую игру Pong, используя SpriteKit + Swift. Это многопользовательская игра, поэтому я хочу, чтобы два человека могли перемещать две ракетки. Я хочу иметь возможность перемещать весла одновременно. Когда я запускаю приведенный ниже код, который представляет собой функцию touchesBegan, я могу перемещать каждую ракетку только тогда, когда один палец нажимает на дисплей. Когда я пытаюсь коснуться другой ракетки, когда мой палец уже находится на экране, он не реагирует.

 let touch = touches.first as UITouch?
 let touchLocation = touch?.locationInNode(self)
 let body: SKPhysicsBody? = self.physicsWorld.bodyAtPoint(touchLocation!)

 if body?.node!.name == PaddleCategoryName {
     print("Paddle Touched!")
     fingerIsOnPaddle = true
 } else if body?.node!.name == PaddleCategoryName2 {
     print("Paddle2 Touched!")
     fingerIsOnPaddle2 = true
 }

person Shawn Patel    schedule 18.10.2015    source источник
comment
Это всего лишь предположение, но пробовали ли вы использовать более одного сенсорного ответчика? может быть, разделить ваш экран на два контроллера просмотра, и каждый с сенсорным ответчиком?   -  person Nitzan R    schedule 18.10.2015
comment
Я пробовал использовать несколько сенсорных респондеров, но не пробовал разделить экран на два контроллера просмотра. Я новичок в SpriteKit, так что вы знаете, как это сделать?   -  person Shawn Patel    schedule 18.10.2015
comment
Я также не очень разбираюсь в SpriteKit. На вашем месте я бы задал новый вопрос об этом.   -  person Nitzan R    schedule 18.10.2015
comment
Ладно спасибо за помощь!   -  person Shawn Patel    schedule 18.10.2015
comment
У Apple есть образцы игр с двумя входами. Я также использую два настраиваемых сенсорных вида сцены в качестве альтернативы удаленному игровому контроллеру. Образец Apple - это DemoBots или что-то в этом роде...   -  person Duncan Groenewald    schedule 18.10.2015
comment
Добавление моего комментария из другого нового вопроса (сначала увидел его). Я не уверен, что это действительно то, что вы хотите сделать. Возможно, вам будет лучше определить местоположение прикосновения, поэтому вы можете просто использовать это местоположение, чтобы увидеть, находится ли оно на одной стороне iDevice или на другой. То же самое можно сказать и о touchesMoved, просто посмотрите, где находится место касания, и переместите ракетку в эту сторону.   -  person Gliderman    schedule 18.10.2015
comment
Я пытался использовать другой вопрос, но, похоже, это не сработало для меня.   -  person Shawn Patel    schedule 18.10.2015


Ответы (1)


Я знаю, что это немного поздно, но если вы все еще не знаете ответа, я считаю, что вам нужно установить эту строку в вашем viewController при загрузке вашей первой сцены.

 skView.multipleTouchEnabled = true
person crashoverride777    schedule 07.12.2015