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