2016-11-11 1 views
0

Я не был в состоянии получить этот жест, чтобы ответить на все.tvos быстры spritekit - UITapGestureRecognizer не реагирующие

self.isUserInteractionEnabled = true 
    let tap = UITapGestureRecognizer(target: self, action: #selector(self.movePlayer(_:))) 
    tap.allowedPressTypes = [NSNumber(value: UIPressType.playPause.rawValue)] 
    view?.addGestureRecognizer(tap) 

и функция:

func movePlayer(_ sender: UITapGestureRecognizer){ 
    player.run(SKAction.moveBy(x: 200, y: 0, duration: 10)) 
    print("Right!") 
} 

вообще ничего не происходит при нажатии на кнопку воспроизведения на тренажере пульта дистанционного управления. Что мне не хватает?

+0

вы ударяя опцию при касании? (Я думаю, что это вариант, он скажет это на пульте симулятора) – Knight0fDragon

ответ

0

Водопроводный код жеста распознавань выглядит отлично. Где вы добавляете его, есть ли в didMoveToView?

Я недавно играл с новой IOS 10

override func sceneDidLoad() { } 

метод, и я заметил, что жест recognisers добавил, что не работают.

Это работает в симуляторе

class GameScene: SKScene, SKPhysicsContactDelegate { 

     override func didMove(to view: SKView) { 

      self.isUserInteractionEnabled = true 
      let tap = UITapGestureRecognizer(target: self, action: #selector(self.movePlayer(_:))) 
      tap.allowedPressTypes = [NSNumber(value: UIPressType.playPause.rawValue)] 
      view.addGestureRecognizer(tap) 
    } 

    func movePlayer(_ sender: UITapGestureRecognizer){ 
     print("Right!") 

    } 
} 

Надеется, что это помогает

+0

.... Да, это в функции sceneDidLoad(). Я попробовал переместить его в didMove, но все равно не работает. – Zek

+0

Вам нужно didMove для жестов, я помню тестирование с помощью sceneDidLoad, и оно не работает. Я просто проверил это с новым проектом, и он отлично работает. Можете ли вы обновить свой вопрос с помощью всего кода вашей сцены. – crashoverride777

+0

Ну, я попробовал тестировать его в новом проекте, и теперь он работает. Перемещение моего кода в didMove работает. Я также переместил размещение спрайтов в didMove, который исправил еще одну ошибку, с которой я столкнулся, где она создала копию спрайта, который был перемещен. Итак, sceneDidLoad просто ужасно или что-то в этом роде? – Zek

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