Должен ли я использовать Touches из NSSet или Touches из UIEvent в cocos2d - PullRequest
0 голосов
/ 28 декабря 2011

Я заметил, что есть много разных способов обработки касаний ввода. (Multitouch)

Функция как

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

Должен ли я напрямую использовать прикосновения (первый аргумент) или я должен использовать [event allTouches] (второй аргумент)

Я заметил, что некоторые люди даже используют

UITouch *touch = [touches anyObject];

Я проверяю из документации Apple, и anyObject просто возвращает один из объектов из NSSet, разве это не случайно? Я не вижу смысла вызывать это, если вы делаете мультитач, где важен идентификатор для каждого касания.

Я также знаю, что [event allTouches] фактически возвращает все касания во всех окнах, но когда мы делаем в cocos2d, я думал, что большую часть времени мы имеем дело только с одним окном?

Итак, скажем, моя игра имеет только 1 вид (вид openGL) за раз, так что мне следует использовать? Первый аргумент касается или [event allTouches]?

Надеюсь, что кто-нибудь может прояснить мне это:)

1 Ответ

1 голос
/ 28 декабря 2011

Если вы хотите использовать мультитач, вы должны использовать эту функцию:

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

Если вы хотите использовать одно касание, вы должны использовать эту функцию:

- (void)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event

Если вы используете мультитач и вам нужно первое касание, вы должны использовать первый аргумент касаний NSSet, для второго касания вы должны использовать второй аргумент и т. Д.

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