droidovr | Дата: Вторник, 11 Апреля 2017, 07:33 | Сообщение # 1 |
уже был
Сейчас нет на сайте
| Ребята, помогите с алгоритмом, никак не могу придумать как же сделать обработку.
Суть в чем.
При касании на экран обрабатывается Gdx.input.isTouched(0), если не отпуская палец с экрана - нажать вторым, получается запускается обработка Gdx.input.isTouched(1), но при касании нужно, чтобы обработка Gdx.input.isTouched(0) - была отменена.
Потом же, если отпустить первый палец и обратно им коснуться экрана, чтобы отменить Gdx.input.isTouched(1) и запустить Gdx.input.isTouched(0)
Большое спасибо за помощь.
|
|
| |
Animan2010 | Дата: Воскресенье, 04 Июня 2017, 21:48 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| // Costile Time final int STATE_WAIT_A = 0; // Ждем А final int STATE_WAIT_B = 1; // Ждем Б final int STATE_WAIT_A_AGAIN = 2; // Ждем снова А final int STATE_COMPLETE = 3; // Победа int _State = STATE_WAIT_A;
void Update() { boolean ta = Gdx.input.isTouched(0); // Локальное А boolean tb = Gdx.input.isTouched(1); // Локальное Б switch(_State) { case STATE_WAIT_A: // Если коснулись А - переходим к Б if(ta) _State = STATE_WAIT_B; break; case STATE_WAIT_B: // Если отпустили А так и не нажав Б - возврат в начало if(!ta) _State = STATE_WAIT_A; // Если коснулись Б - снова ждем А на след шаге if(tb) _STATE = STATE_WAIT_A_AGAIN; break; case STATE_WAIT_A_AGAIN: // Если отпустили Б не нажав А - в самое начало if(!tb) _State = STATE_WAIT_A; // Если нажали А - победа if(ta) _State = STATE_COMPLETE; break; case STATE_COMPLETE: victory(); break; } }
Anima Games Animan Publishing
|
|
| |