Я создал подкласс класса CCSprite и добавил к нему UIRotationGestureRecognizer. Итак, в моем методе инициализации у меня есть это
UIRotationGestureRecognizer *rot = [[[UIRotationGestureRecognizer alloc]
initWithTarget:self action:@selector(handleRotation:)] autorelease];
[rot setDelegate:self];
[[[CCDirector sharedDirector] openGLView] addGestureRecognizer:rot];
и тогда у меня есть метод
- (void)handleRotation:(UIRotationGestureRecognizer *)recognizer {
float rotation = [recognizer rotation];
self.rotation += rotation;
}
работает отлично, но имеет огромный разрыв между фактическим жестом и самим вращением. Я бы сказал, почти 0,5 секунды между жестом и ответом спрайта.
Как мне это решить? спасибо.
ПРИМЕЧАНИЕ. После первого комментария я добавил в спрайт еще два распознавателя: UIPinchGestureRecognizer и UIPanGestureRecognizer. Я также добавил метод делегата shouldRecognizeSim одновременноouslyWithGestureRecognizer и установил для него значение YES.
После этого и проверки жесты щипка и панорамирования быстры, как ад. С другой стороны, вращение продолжается медленно. Не было никакого снижения скорости вращения, добавив эти два других распознавателя жестов. Два других отвечают быстро и быстро, UIRotationGestureRecognizer работает медленно.