Обнаружение касания без обработки событий - PullRequest
1 голос
/ 07 марта 2012

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

причина в том, что я анимирую спрайты и хочу определить, должен ли спрайт продолжать двигаться - если экран все еще касается.Я не могу использовать ccTouchesEnded, потому что каждый раз, когда запускается анимация, я устанавливаю для isTouchEnabled значение false, потому что я также хочу, чтобы пользователь мог быстро нажимать на экран, чтобы перемещать спрайт, но если они нажимаются слишком быстро, это может повлиять на положение спрайта.во время процесса анимации, который, как я обнаружил, странным образом портит положение моих объектов.

Возможно ли это?

1 Ответ

1 голос
/ 07 марта 2012

Похоже, что не существует какого-либо общедоступного API для обнаружения касаний, кроме включения и получения этих событий в главном цикле выполнения пользовательского интерфейса.

Вы можете продолжать обрабатывать события и устанавливать состояние, оставленное последним событием касания в объекте модели или глобальных переменных. Затем вы можете в любое время опросить собственное внутреннее состояние вашего приложения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...