您好,感谢您的关注。我正在尝试编写我的第一个 android 游戏应用程序。游戏要求玩家触摸一个点并向右或向左移动他/她的手指。代码必须检测触摸点、起点和方向。
我已经尝试了包含的代码,但它不起作用。几天来,我一直在搜索和纠结关于触摸事件的代码。我让你在这里彻底搜索了提示,但我没有成功找到任何可以帮助我的东西。
你能帮我吗,甚至提到一些文章或指南。
这是我的代码:
public class BaoView extends View {
... omissis ...
public BaoView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public void init() {
startPoint = new Point();
endPoint = new Point();
movePoint = new Point();
setFocusable(true);
loadPitLocations();
loadImages();
this.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
startPoint.x = (int) event.getX();
startPoint.y = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
movePoint.x = (int) event.getX();
break;
case MotionEvent.ACTION_UP:
dir=0;
if(event.getX()>startPoint.x){
dir=1; // right
}
if(event.getX()<startPoint.x){
dir=-1; // left
}
if(dir!=0){
Move(startPoint.x,startPoint.y,dir);
}
break;
}
return true;
}
);
}
编辑:我忘记了 Move() 中的 'dir' 参数。