Java 如何检测正在使用的手指数?
我正在使用Libgdx制作一个游戏,我需要知道用户是否使用了两个手指,以及它们是否放置在正确的位置。一个手指应位于屏幕右侧,另一个手指应位于屏幕左侧 如何检测正在使用的手指数 您可以使用Java 如何检测正在使用的手指数?,java,android,libgdx,touch,Java,Android,Libgdx,Touch,我正在使用Libgdx制作一个游戏,我需要知道用户是否使用了两个手指,以及它们是否放置在正确的位置。一个手指应位于屏幕右侧,另一个手指应位于屏幕左侧 如何检测正在使用的手指数 您可以使用getPointerCount() 您可以检测屏幕上有多少手指在执行此操作: int PointerCount = event.getPointerCount(); 我需要知道用户是否使用两根手指,以及它们是否放置在正确的位置 你可以得到X,Y并进行比较 @Override public boolean onT
getPointerCount()
您可以检测屏幕上有多少手指在执行此操作:
int PointerCount = event.getPointerCount();
我需要知道用户是否使用两根手指,以及它们是否放置在正确的位置
你可以得到X,Y并进行比较
@Override
public boolean onTouch(View v, MotionEvent event) {
int x = event.getX();
int y = event.getY();
return true;
}
有关更多信息,您可以查看,以便获得所需信息。无论是
手势监听器
还是输入处理器
都有触地
方法。屏幕上每个手指的x和y值(指针)。执行其中任何一项,您都可以覆盖着陆以满足您的需要。这是一个很好的入门教程。希望这能有所帮助。不使用任何侦听器的最简单解决方案就是迭代一些指针计数,然后调用simpleGdx.input.isTouched()
-您必须设置一些“最大指针计数”,但是嘿-人们通常只有20个手指:)
然后你可以把它放到数组中x和y将得到手指的坐标,那么第二个手指呢?手指应同时在屏幕上。我的意思是,如果两个手指同时触摸屏幕,我如何获得它们的坐标?我使用的是libgdx,我不能使用MotionEvent类,是的-查看我在答案中附加的方法引用(橙色文本块),如果我不想实现InputListerner,toucdown()方法有一个指针参数,如何使用该指针变量来选择要使用的指针/手指。
final int MAX_NUMBER_OF_POINTERS = 20;
int pointers = 0;
for(int i = 0; i < MAX_NUMBER_OF_POINTERS; i++)
{
if( Gdx.input.isTouched(i) ) pointers++;
}
System.out.println( pointers );
final int MAX_NUMBER_OF_POINTERS = 20;
int pointers = 0;
for(int i = 0; i < MAX_NUMBER_OF_POINTERS; i++)
{
if( Gdx.input.isTouched(i) )
{
x = Gdx.input.getX(i);
y = Gdx.input.getY(i)
}
}