Среда, 18 Декабря 2024, 08:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
libgdx мультитач
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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг