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