#iphone #objective-c #ios #cocos2d-iphone
#iPhone #objective-c #iOS #cocos2d-iphone
Вопрос:
Как я могу найти в приложении cocos2d с несколькими касаниями, какое касание было вызвано ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
? Я могу получить все касания, используя [event allTouches]
, но как я могу найти, какое касание вызвало функцию, например, когда я хотел бы, чтобы это конкретное касание отображало определенный журнал NSLog.
Ответ №1:
События касания предоставляют вам объект UITouch * для каждого пальца. UITouch * остается неизменным на протяжении всего касания, от начала до завершения / отмены. Вы можете сохранить UITouch * в начатом событии и отпустить его (и установить для него значение nil) в завершенных и отмененных событиях.
Кстати, класс ввода KKInput (ссылка на класс) Kobold2D (улучшенный Cocos2D делает это намного проще. Начиная с предварительного просмотра 5, вы можете просто получить список текущих касаний в любое время, в любом классе или методе, потому что KKInput отслеживает касания для вас.