Подтвердить что ты не робот

Как отключить обнаружение касания?

Как отключить обнаружение касания в действии, которое выполняется, потому что я не хочу, чтобы персонаж летал на небе, как супермен, если игрок нажимает и нажимает внутри действия, персонаж никогда не приземлится, если они будут продолжать нажимать, Я нашел метод "isDone", это относится к этому методу? игрок клик → действие (не может нажать внутри действия) → действие закончить → нажмите еще раз..... что я хочу ~

4b9b3361

Ответ 1

Это лучший ответ на ваш вопрос:

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

Ответ 2

Отключить взаимодействие пользователей в вашем представлении до завершения действия, а затем снова включить его.

Чтобы отключить прикосновение

[self.view setUserInteractionEnabled:NO];

Чтобы включить touch

[self.view setUserInteractionEnabled:YES];

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

Ответ 3

В Swift 2.2

self.view.userInteractionEnabled = false

Ответ 4

Просто сделайте дикое предположение, что вы говорите о конкретном классе Action в Cocos2D. Если это правда, то вы должны знать, что каждое действие имеет "isDone" Bool, который вы можете проверить, чтобы убедиться, что это сделано. Дайте мне знать, если вы спросите, и я отправлю пример, но у вас есть огромный шанс, что вы можете говорить о чем-то другом, потому что ваша формулировка настолько запутанна;)

Ответ 5

Вы всегда можете поместить прозрачный UIView поверх области, в которую хотите "отключить" вход для входа, попросить прослушивать краны и игнорировать их. Удалите UIView (или скройте его), когда хотите снова прослушать ввод.

Ответ 6

Почему бы вам не использовать какую-то (простую версию) логическую для запоминания i.e. isInAction = true и после завершения действия isInAction = false...

Итак, когда кто-то нажимает, вы используете что-то вроде

if (!isInAction) {
   isInAction=true;
   try {
     doYourAction;
   } catch {
     ...
   } finally {
     isInAction=false;
   }
}

//Код - это какой-то псевдокод, потому что я еще не запрограммирован для IPhone, просто чтобы понять, что я имею в виду.

Ответ 7

Возможно, я не понял ваш вопрос, но это то, что вы ищете?

- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  [Superman Fly];
  self.isTouchEnabled = NO;
}

- (void)SupermanLanded{
  self.isTouchEnabled = YES;
}

Ответ 8

Swift 3.0

self.view.isUserInteractionEnabled = false