4

Вот моя маленькая ситуация. Я перемещаю ccsprite с uipanGesture. Я могу перемещать все вокруг без проблем, и у меня есть пятно на экране, которое я могу снимать с помощью uitapgesture.UIPanGestureRecognizer и UITapGestureRecognizer в то же время

-(void)handleTap:(UITapGestureRecognizer *)recognizer{ 

CGPoint location = [recognizer locationInView:recognizer.view]; 
location = [[CCDirector sharedDirector]convertToGL:location]; 
location = [self convertToNodeSpace:location]; 

if (location.x > winSize.width * .6 && location.y <winSize.height/2) { 
    NSLog(@"fire"); 
} 

Я добавил метод делегата, так когда я панорамирование, я могу нажать на кнопку огня: все работает отлично.

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ 
    return YES; 
} 

Но когда я не панорамирование и просто стрелять с помощью uitapgesture, я не могу перемещаться, когда я стрелять ... Поэтому я думаю, что это происходит потому, что это регистрирующий последний кран, как recognizer.state == UIGestureRecognizerStateBegan так Я не панорамирую.

Любой знает, как я могу нажать и не зарегистрировать кран как if (recognizer.state == UIGestureRecognizerStateBegan

Я попытался, если (location.x < winSize.width/2), но это не сработало.

+0

Можем ли мы увидеть, где вы создаете жесты? –

+0

Я создаю их в 2-х местах в этом примере, я создал его в init, но я создал их в делегате приложения раньше. – ifrapps

ответ

1

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

Так что я думаю, что вы хотите иметь свой [requireGestureToFail:].

+0

Я собираюсь попробовать сегодня вечером сообщить, если он работает – ifrapps

+0

попробовал это не сработало – ifrapps

+0

Я сделал учебник некоторое время назад http://www.scott-sherwood.com/?p=256 и в этом учебнике У меня есть условие как для удержания, так и для поворота жестов, чтобы совпадать друг с другом так, как вы хотите, чтобы ваша кастрюля и нажала на работу, посмотрите, помогает ли она. В то же время я попытаюсь создать небольшой проект, демонстрирующий поведение, которое вы хотите, и посмотрите, есть ли что-то, что связано с использованием крана и сковороды вместе, что вызывает странность. –

0

я не знаю, если кто-то заинтересован в этой должности, но я же решить эту проблему, как 90% с использованием следующих

for(int i=0; i<[recognizer numberOfTouches]; i++){ 
    CGPoint pt = [recognizer locationOfTouch:i inView:recognizer.view]; 
    pt = [[CCDirector sharedDirector]convertToGL:pt]; 
    pt = [self convertToNodeSpace:pt]; 

    if (i==0) { 
    //stuff 
    } 
Смежные вопросы