После touchDown() я звоню game.setScreen(new ScreenClass(this));

Это отлично работает, но когда доходит до нового экрана, и я отпускаю мышь (или поднимаю палец), новый экран запускает событие touchUp(). Есть ли способ предотвратить запись этого первого touchUp?

0
Seanoseanohay 21 Май 2013 в 09:05
Это может быть очевидный вопрос, но пробовали ли вы переместить свою логику в touchUP вместо касания, должно ли оно быть при касании?
 – 
joey.enfield
22 Май 2013 в 17:40
Я упоминал об этом ниже. Возможно, это лучший вариант.
 – 
Seanoseanohay
23 Май 2013 в 08:21

1 ответ

Лучший ответ

Вы можете просто добавить флаг на второй экран, чтобы игнорировать первое событие касания.

private boolean isFirstTouchUp = true;

В событии ретуши добавьте этот код,

if(isFirstTouchUp){
 isFirstTouchUp = false;
}else{
 // Do you touchup event here,
}

Надеюсь, я смогу вам помочь: D

0
Jeff Lee 21 Май 2013 в 09:34
Спасибо за предложение. Мне было интересно, есть ли что-то встроенное в LibGDX, которое я пропустил, чтобы справиться с этим. Ваше решение - отличная работа.
 – 
Seanoseanohay
22 Май 2013 в 08:11
Насколько я знаю, встроенной функции нет: D Удачи
 – 
Jeff Lee
22 Май 2013 в 08:18
Еще одно предложение, которое я получил, - изменить экран при touchUp ... это также решит проблему. Я использую вашу идею. Спасибо
 – 
Seanoseanohay
22 Май 2013 в 17:30
Было бы лучше использовать touchUp(), потому что обычно действие выполняется после события click , которое представляет собой touchDown(), за которым следует touchUp().
 – 
flawyte
23 Май 2013 в 00:22