在游戏开发时,角色可以随手指移动,但是当手指移动到屏幕另一个位置时,角色可以瞬移
解决方法如下:
在手指触摸屏幕时进行判定,如果手指点到了角色并且在屏幕上进行滑动,角色才移动
具体代码如下:
定义一个值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();
}
}
这样飞机就不会瞬移了。