Android MotionEvent.ACTION\u移动太快,无法获得正确的X&Y坐标
我正在使用动作移动&动作向下 用于在我的应用程序中获取x&y,以便我可以检查画布绘制线是否交叉/触碰,但当我的代码运行所有循环时,操作动作获取x&y坐标太快,获取另一个x&y坐标并再次运行代码 它在实际操作中工作得很好,因为这将在时间中断后被触及,所以我的代码有时间完成所有工作 我的问题是:如何让它检查我的所有代码,然后移动到另一个坐标&这不会花费太多时间 这是我的一些代码->Android MotionEvent.ACTION\u移动太快,无法获得正确的X&Y坐标,android,Android,我正在使用动作移动&动作向下 用于在我的应用程序中获取x&y,以便我可以检查画布绘制线是否交叉/触碰,但当我的代码运行所有循环时,操作动作获取x&y坐标太快,获取另一个x&y坐标并再次运行代码 它在实际操作中工作得很好,因为这将在时间中断后被触及,所以我的代码有时间完成所有工作 我的问题是:如何让它检查我的所有代码,然后移动到另一个坐标&这不会花费太多时间 这是我的一些代码-> @Override public boolean onTouchEvent(MotionEvent event) {
@Override
public boolean onTouchEvent(MotionEvent event) {
int ac=event.getAction();
int x=(int) event.getX();
int y=(int) event.getY();
int x1=0;int x2=0;
int x3=0;int x4=0;
boolean dont=false;
switch(ac){
case MotionEvent.ACTION_DOWN:
for(int i=art.length-1;i>=0;i--){
if(art[i]<=Integer.valueOf(x)){
x1=art[i];
if(x1+2<x){
x3=x1+31;
dont=true;
}else{
x3=x1+2;
}
break;
}
}
for(int i=aot.length-1;i>=0;i--){
if(aot[i]<=Integer.valueOf(y)){
x2=aot[i];
if(y-x2==2||y-x2==1||y==x2&&dont==true){
x4=x2+2;
}else{
x4=x2+46;
}
break;
}
}
if(count.containsKey(x1+","+x2+","+x3+","+x4)){
AlertDialog mk=new AlertDialog.Builder(getContext()).create();
mk.setMessage("Game Over!");
mk.show();
}
break;
case MotionEvent.ACTION_MOVE:
for(int i=art.length-1;i>=0;i--){
if(art[i]<=Integer.valueOf(x)){
x1=art[i];
if(x1+2<x){
x3=x1+31;
dont=true;
}else{
x3=x1+2;
}
break;
}
}
for(int i=aot.length-1;i>=0;i--){
if(aot[i]<=Integer.valueOf(y)){
x2=aot[i];
if(y-x2==2||y-x2==1||y==x2&&dont==true){
x4=x2+2;
}else{
x4=x2+46;
}
break;
}
}
if(count.containsKey(x1+","+x2+","+x3+","+x4)){
AlertDialog mk=new AlertDialog.Builder(getContext()).create();
mk.setMessage("Game Over!");
mk.show();
}
break;
}
return true;
}
你到底想做什么?这是一个随机生成线条的视图,我想如果任何用户只触摸线条,那么它将显示一个AlertDialog,我尝试为它建立公式,所以它不会用于循环,但我无法做到这一点。。因此,在这段代码中,当调用ActionUP时,它将显示AlertDialog,但当我使用ActionMove太快时,它将不显示任何内容,因为触摸事件获得非常快的坐标。
art[0]=7;
art[1]=36;
art[2]=65;
art[3]=94;
art[4]=123;
art[5]=152;
art[6]=181;
art[7]=210;
art[8]=239;
art[9]=268;
art[10]=297;
art[11]=326;
art[12]=355;
art[13]=384;
art[14]=413;
art[15]=442;
art[16]=471;
aot[0]=7;
aot[1]=51;
aot[2]=95;
aot[3]=139;
aot[4]=183;
aot[5]=227;
aot[6]=271;
aot[7]=315;
aot[8]=359;
aot[9]=403;
aot[10]=447;
aot[11]=491;
aot[12]=535;
aot[13]=579;
aot[14]=623;
aot[15]=667;
aot[16]=711;