2012-04-09 22 views
0

最近私のアプリにマルチタッチを使用しようとしていますが、私の問題の問題を解決するための手助けができませんでした。 メイクを使用し、APIレベル7の古いadkは、アンドロイド2.1を実行するマルチタッチが可能ですか?Androidマルチタッチが動作しません

おかげ

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
      super.onTouchEvent(event); 


      int action = event.getAction() & MotionEvent.ACTION_MASK; 

      switch (action) { 
      case MotionEvent.ACTION_DOWN: { 
       float tx = event.getX(); 
       float ty = event.getY(); 
       if (tx > joystick.getWidth() - joystick.getWidth() && tx < (joystick.getWidth()/3) && ty > getHeight() - joystick.getHeight()) { 
        left(); 
        invalidate(); 
       } 
       if (tx > (joystick.getWidth()/3)*2 && tx < (joystick.getWidth()) && ty > getHeight() - joystick.getHeight()) { 
        right(); 
        invalidate(); 
       } 
       if (tx > getWidth() - button.getWidth() - (button.getWidth()/4) 
         && ty > getHeight() - button.getHeight() 
           - (button.getHeight()/4)) { 
        jump(); 
        invalidate(); 
       }else{jump_true = 0 ; 
       jump_is = true;} 
        break; 
      } 
      case MotionEvent.ACTION_MOVE: { 
       float txm = event.getX(); 
       float tym = event.getY(); 
       if (txm > joystick.getWidth() - joystick.getWidth() && txm < (joystick.getWidth()/3) && tym > getHeight() - joystick.getHeight()) { 
        left(); 
        right = false; 
        invalidate(); 
       } 
       if (txm > getWidth() - button.getWidth() - (button.getWidth()/4) 
         && tym > getHeight() - button.getHeight() 
           - (button.getHeight()/4)) { 
        //jump(); 
        //invalidate(); 
       }else{ 
        //jump_true = 0 ; 
        //jump_is = true; 
       } 
       if (txm > (joystick.getWidth()/3)*2 && txm < (joystick.getWidth()) && tym > getHeight() - joystick.getHeight()) { 
        right(); 
        left = false; 
        invalidate(); 
       } 
       if (txm > getWidth() - button.getWidth() - (button.getWidth()/4) 
         && tym > getHeight() - button.getHeight() 
           - (button.getHeight()/4)) { 
        jump(); 
        invalidate(); 
       }else{jump_true = 0 ; 
       jump_is = true;} 
        break; 
      } 

      case MotionEvent.ACTION_POINTER_DOWN: { 
       float txp = event.getX(); 
       float typ = event.getY(); 
       if (txp > getWidth() - button.getWidth() - (button.getWidth()/4) 
         && typ > getHeight() - button.getHeight() 
           - (button.getHeight()/4)) { 
        jump(); 
        invalidate(); 
       }else{jump_true = 0 ; 
       jump_is = true;} 

       if (txp > joystick.getWidth() - joystick.getWidth() && txp < (joystick.getWidth()/3) && typ > getHeight() - joystick.getHeight()) { 
        left(); 
        right = false; 
        invalidate(); 
       } 
       if (txp > getWidth() - button.getWidth() - (button.getWidth()/4) 
         && typ > getHeight() - button.getHeight() 
           - (button.getHeight()/4)) { 
        //jump(); 
        //invalidate(); 
       }else{ 
        //jump_true = 0 ; 
        //jump_is = true; 
       } 
       if (txp > (joystick.getWidth()/3)*2 && txp < (joystick.getWidth()) && typ > getHeight() - joystick.getHeight()) { 
        right(); 
        left = false; 
        invalidate(); 
       } 
      break; 
      } 
      case MotionEvent.ACTION_POINTER_UP: { 
       touch_up(); 
       invalidate(); 
        break; 
      } 
      case MotionEvent.ACTION_UP: { 
       touch_up(); 
       invalidate(); 
        break; 
      } 
      } 

      return true; 
    } 


    private void touch_up() { 
     left = false; 
     right = false; 
     jump_true = 0 ; 
     jump_is = true; 
    } 

    private void left() { 
     left = true; 
    } 
    private void right(){ 
     right = true; 
    } 
    private void jump() { 
     jump_true=1; 
     jump_done = false; 
    } 
+0

エミュレータまたは電話でテストしていますか?電話を使用している場合は、ハードウェアがマルチタッチをサポートするかどうかを確認してください。 – Guedes

+0

「働いていない」とはどういう意味ですか?コードを投げ捨て、それがうまくいかないと言っているのではなく、何が間違っていて、何を試してきたのか教えてください。 – slayton

+0

私の携帯電話は間違いなくマルチタッチをサポートしていません。私はそれが1本の指でしか動作しない第2の指を検出しません –

答えて

関連する問題