在游戏开发时,角色可以随手指移动,但是当手指移动到屏幕另一个位置时,角色可以瞬移


解决方法如下:

在手指触摸屏幕时进行判定,如果手指点到了角色并且在屏幕上进行滑动,角色才移动

具体代码如下:



定义一个值a

当手指点到了角色并且在屏幕上进行滑动,a的值变为1,当手指离开屏幕,a的值变为0,当a=1时角色才进行移动。


 if(event.getAction()==MotionEvent.ACTION_DOWN&&event.getX()>=myplane.x&&event.getX()<=myplane.x+myplane.planex()&&event.getY()>=myplane.y&&event.getY()<=myplane.y+myplane.planey())
        {
            a=1;
        }
        if(event.getAction()==MotionEvent.ACTION_UP){
            a=0;
        }
        if(a==1){

       x = (int) event.getX()-plane.getWidth()/2;
       y = (int) event.getY()-plane.getHeight();

       }

}

这样飞机就不会瞬移了。