0

您好,感谢您的关注。我正在尝试编写我的第一个 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' 参数。

4

0 回答 0