2016-09-20 106 views
0
 if(Gdx.input.isTouched()) {  
     //moving right touchscreen 
     if(touchPos.x >= 310 && touchPos.x <= 445 && touchPos.y >= 770 &&touchPos.y <= 870) 
      man.b2body.applyLinearImpulse(new Vector2(0.1f, 0), man.b2body.getWorldCenter(), true); 
     //moving left touchscreen 
     if(touchPos.x >= 70 && touchPos.x <= 220 && touchPos.y >= 770 &&touchPos.y <= 870) 
      man.b2body.applyLinearImpulse(new Vector2(-0.1f, 0), man.b2body.getWorldCenter(), true); 
     if(touchPos.x >=1630 && touchPos.x <= 1815 && touchPos.y >= 740 &&touchPos.y <= 935 && man.b2body.getPosition().y <=0.22) 
      man.b2body.applyLinearImpulse(new Vector2(0, 4f), man.b2body.getWorldCenter(), true); 

以上是我的代码,当我运行该应用程序时,我的角色可以左右运行,并且按下时单独跳转。如何让我的角色在跑步时跳跃。处理两个输入?如何处理多个触摸输入

回答

-1

看起来您正在检查触摸是否在广场内。而不是检查触摸是否在所有这些坐标的范围内,您可以放置​​一些矩形并检查玩家是否触摸它们。

甚至更​​好,使用Scene2d添加按钮。这将使更好更可靠的输入控制。 如果你不想看到它们,你可以制作不可见的按钮。

Brent Aureli made a nice tutorial for on-screen controles.