2015-09-07 4 views
0

У меня есть большая проблема с моими 2 созданными кнопками, которые могут перемещаться. Они оба работают, но используют одни и те же getX(), получают данные Y(). Как я могу заставить их брать разные данные, когда я прикасаюсь к ним разными пальцами одновременно?Multitouch в libgdx

(одна кнопка для перемещения следующего для съемки)

foreverTimer+=delta; 
    if(foreverTimer<0.1){if(attackPressed){ 
     float y=0, x=0, getY=Gdx.input.getY(), getX=Gdx.input.getX(); 
     if((HEIGHT - getY)>=attackY+attackButton.getHeight()/3||(HEIGHT - getY)<=attackY-attackButton.getHeight()/3||getX>attackX+attackButton.getWidth()/3||getX<attackX-attackButton.getWidth()/3) 
     { 
      y=(HEIGHT - getY-attackY); x = getX-attackX; 
      Player.shoot(x, y); 
     }} 
    }else 
    if(foreverTimer>=0.1){ 
//RIGHT HERE I COMMAND TO TAKE NEW X,Y FOR NEXT BUTTON AND TURN OFF OTHER BUTTON BUT THE X AND Y ARE STILL THE SAME 
      float getY=Gdx.input.getY(), getX=Gdx.input.getX(); 
      foreverTimer-=0.1; 
      if(movePressed) 
      { 
       if(getX>moveX+moveButton.getWidth()/3){a=false; d=true;} else if(getX<moveX-moveButton.getWidth()/3){d=false; a=true;}  else{a=false; d=false;} 
       if((HEIGHT - getY)>moveY+moveButton.getHeight()/2){s=false; Player.sit=false; spres=false; w=true; wpres=true;} else if((HEIGHT - getY)<moveY-moveButton.getHeight()/2){s=true; spres=true; w=false; wpres=false;}   else{s=false; Player.sit=false; spres=false; w=false; wpres=false; } 
      }else {wpres=spres=d=a=false;} 
     } 

ответ

1

Вы должны использовать

Gdx.Input.getX(int pointer) 

и попытаться итерацию от до некоторого максимального кол касаний (в вашем примере 2) чтобы получить все X и Y координаты пальцев касаясь экрана. Затем просто проверьте, есть ли какая-либо из (x, y) об одной из ваших кнопок.

Также обратите внимание на использование Scene2d и его Актеры и контактные линзы. Я думаю, это было бы очень полезно здесь, в вашем случае.

Вы можете прочитать об этом здесь:

https://github.com/libgdx/libgdx/wiki/Scene2d