Как отменить уитуши? - PullRequest
       33

Как отменить уитуши?

4 голосов
/ 02 июля 2011

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

Я использую touchesBegan, touchesMoved и т. Д. Есть ли способ отменить информацию с первого прикосновения и сделать джойстик отдельно?

Я уже пробовал [self touchesCancelled: touches withEvent: event]; Есть ли другой способ?

1 Ответ

3 голосов
/ 02 июля 2011

Каркас Cocoa Touch поддерживает работу с несколькими касаниями. Поэтому вам не нужно отменять первое касание, чтобы работать со вторым касанием. Просто перечислите касания и используйте только тот, который вы хотите для джойстика в вашем сенсорном делегате.

NSArray  *allTouches = [ touches allObjects ];
int      numTouches  = [ allTouches count ];
for (int i=0; i<numTouches; i++) {
    UITouch *theTouch = [ allTouches objectAtIndex:i ];
    if (theTouch != leftSideHoldTouch) {
        // maybe it's a joystick touch, so handle it here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...