Обнаружить НЕ касание в течение 3 секунд в iOS?

Я делаю игру с помощью Sprite Kit.
Я хотел бы дать пользователю несколько подсказок, когда он не касался экрана в течение 3 секунд. Как лучше всего это сделать?

Я думал о том, чтобы создать значение BOOL и изменить его в touchesBegin, а затем установить interval, который будет запускать метод, если прикосновение не будет обнаружено.

У кого-нибудь есть идея получше?
Спасибо.


person Fengson    schedule 19.04.2015    source источник


Ответы (1)


Я думаю, что ваша идея находится на правильном пути для начала.

Но вместо использования значения «BOOL» (которое сообщает вам только TRUE или FALSE), почему бы не использовать два NSTimeInterval ivars (переменные экземпляра), чтобы отметить последний раз, когда вызывалась пара touchesBegan и touchesEnded (или touchesCancelled).

Если значение touchesBegan больше touchesEnded, то происходит активное касание.

Если значение touchesEnded превышает текущее время более чем на 3 секунды (а время touchesBegan все еще раньше touchesEnded), то самое время показать подсказку.

person Michael Dautermann    schedule 19.04.2015