Выключение одновременных касаний в SKScene / Sprite Kit

В настоящее время я разрабатываю игру, в которой пользователь должен иметь возможность касаться одним пальцем одновременно. Я использую SKScene и попытался найти способы отключить многофункциональные функции, но ничего не получилось. Я подумывал о том, чтобы просто ручно называть «возврат» на все касания между touchesBegan() и touchesEnded() , но этот метод также испорчен ( SpriteKit SKScene missing touchesEnded ).

Поэтому мой вопрос: как я могу позволить только одно касание одновременно в SKScene?

SKView наследует от UIView, поэтому в didMoveToView добавьте:

 self.view.multipleTouchEnabled = NO; 

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

Внутри touchhesBegan () заменить:

  for touch: AnyObject in touches { // Whatever is being done on touch } 

с:

  for touch: AnyObject in touches { if(CACurrentMediaTime()-lastTouchDate < 0.1) { return; } lastTouchDate = CACurrentMediaTime(); // Whatever is being done on touch } 

Таким образом, будет зарегистрировано только первое касание, когда сразу появятся несколько касаний или сразу после друг друга. если (CACurrentMediaTime () – lastTouchDate <0,1) проверяет, прошло ли это менее 0,1 секунды с момента принятия последнего прикосновения.

  • addChild через 2 секунды
  • Как мне добраться, а затем удалить родителя SKNode?
  • SpriteKit & Swift, делают платформы nil, если условие истинно не работает
  • Неиспользуемые функции UIScrollViewDelegate
  • Создание платформы SKSpriteNode с динамическим размером для бесконечной бегунской игры
  • необходимо изменить расположение меток с помощью cgpoint (swift3)
  • Swift: настройка игровой сцены в приложении с одним представлением
  • Добавить игра Motion Blur в SpriteKit
  • Частицы SKEmitterNode собираются вместе при создании
  • Обнаружить, произошло ли столкновение между двумя объектами
  • Does SKAction.fadeOut (withDuration: 2.0) удаляет узел со сцены или просто «скрывает» его?
  • Interesting Posts

    Как фильтровать большой массив в iOS swift 2 для uisearchbar

    Сбой сохраненного управляемого объекта

    Получение данных из удаленной таблицы sql на iphone

    Ошибка NSURLSession при загрузке по WiFi: NSURLErrorDomain Code = -999

    Выполнить метод после завершения другого метода

    Как отключить предварительный просмотр пользовательского интерфейса в Swift?

    Как сделать UIImageView как круг

    Будет ли удаление приложения из продажи также завершено автоматически обновлять подписки?

    Объедините и уменьшите, но дождитесь завершения каждого сигнала, прежде чем подписываться на следующий

    Обработка обработанного XML-ответа в быстром

    Исключение даты повторного события в Календаре Google

    Как настроить GKMatchmakerViewController

    SKProductsResponse возвращает только недопустимые идентификаторы продукта

    CoreMotion поставляет данные с задержкой на iOS 10

    Можно ли одновременно запускать другую версию Erlang OTP?

    Давайте будем гением компьютера.