Exemplo n.º 1
0
  // Touch events
  @Override
  public boolean onTouch(View v, MotionEvent event) {
    final int touchDevId = event.getDeviceId();
    final int pointerCount = event.getPointerCount();
    // touchId, pointerId, action, x, y, pressure
    int actionPointerIndex =
        (event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK)
            >> MotionEvent.ACTION_POINTER_ID_SHIFT; /* API 8: event.getActionIndex(); */
    int pointerFingerId = event.getPointerId(actionPointerIndex);
    int action =
        (event.getAction() & MotionEvent.ACTION_MASK); /* API 8: event.getActionMasked(); */

    float x = event.getX(actionPointerIndex) / mWidth;
    float y = event.getY(actionPointerIndex) / mHeight;
    float p = event.getPressure(actionPointerIndex);

    if (action == MotionEvent.ACTION_MOVE && pointerCount > 1) {
      // TODO send motion to every pointer if its position has
      // changed since prev event.
      for (int i = 0; i < pointerCount; i++) {
        pointerFingerId = event.getPointerId(i);
        x = event.getX(i) / mWidth;
        y = event.getY(i) / mHeight;
        p = event.getPressure(i);
        SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, p);
      }
    } else {
      SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, p);
    }
    return true;
  }
Exemplo n.º 2
0
 @Override
 public boolean onTouch(View v, MotionEvent event) {
   builder.setLength(0);
   switch (event.getAction()) {
     case MotionEvent.ACTION_DOWN:
       builder.append("down, ");
       break;
     case MotionEvent.ACTION_MOVE:
       builder.append("move, ");
       break;
     case MotionEvent.ACTION_CANCEL:
       builder.append("cancel, ");
       break;
     case MotionEvent.ACTION_UP:
       builder.append("up, ");
       break;
   }
   builder.append(event.getX());
   builder.append(", ");
   builder.append(event.getY());
   String text = builder.toString();
   Log.d("TouchTest", text);
   textView.setText(text);
   return true;
 }
Exemplo n.º 3
0
 @Override
 public boolean onTrackballEvent(MotionEvent event) {
   // Log.i(logTag, "onTrackballEvent");
   if (trackballEvent(event.getAction(), event.getX(), event.getY())) {
     postUpdate();
   }
   return true;
 }
Exemplo n.º 4
0
 public boolean onTouchEvent(MotionEvent event) {
   super.onTouchEvent(event);
   if (event.getAction() == MotionEvent.ACTION_DOWN) {
     Toast.makeText(HandleEvent.this, "Touch Event Received", Toast.LENGTH_SHORT).show();
     return true;
   }
   return false;
 }
Exemplo n.º 5
0
 // 새로운 볼 생성
 public boolean onTouchEvent(MotionEvent event) {
   if (event.getAction() == MotionEvent.ACTION_DOWN) {
     Ball NewBall = Ball.Create((int) event.getX(), (int) event.getY(), RAD);
     arBall.add(NewBall);
     invalidate();
     return true;
   }
   return false;
 }
Exemplo n.º 6
0
 public boolean onTouchEvent(MotionEvent event) {
   super.onTouchEvent(event);
   if (event.getAction() == MotionEvent.ACTION_DOWN) {
     x += 15;
     y += 15;
     invalidate();
     return true;
   }
   return false;
 }
Exemplo n.º 7
0
  // Touch events
  public boolean onTouch(View v, MotionEvent event) {

    int action = event.getAction();
    float x = event.getX();
    float y = event.getY();
    float p = event.getPressure();

    // TODO: Anything else we need to pass?
    SDLActivity.onNativeTouch(action, x, y, p);
    return true;
  }
Exemplo n.º 8
0
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {

          /** Hack to prevent repeat touch events causing erratic behavior */
          if (timesTouched == 0) {

            if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {

              dismiss();
            }
          }

          timesTouched++;

          return false;
        }
Exemplo n.º 9
0
    public boolean onTouchEvent(MotionEvent event) {
      if (event.getAction() == MotionEvent.ACTION_DOWN) {
        int sel;
        sel = FindShapeIdx((int) event.getX(), (int) event.getY());

        // 빈 바닥을 찍었으면 무시한다.
        if (sel == -1) {
          return true;
        }

        // 마지막 추가된 도형을 제대로 찍었으면 다음 단계로 진행.
        // 빈 화면 잠시 보여준 후 새 도형 추가
        if (sel == arShape.size() - 1) {
          status = BLANK;
          invalidate();
          mHandler.sendEmptyMessageDelayed(0, DELAY);
          // 엉뚱한 도형을 찍었으면 질문 후 게임 종료 또는 재시작
        } else {
          new AlertDialog.Builder(getContext())
              .setMessage("재미있지! 또 할래?")
              .setTitle("게임 끝")
              .setPositiveButton(
                  "함더",
                  new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                      arShape.clear();
                      status = BLANK;
                      invalidate();
                      mHandler.sendEmptyMessageDelayed(0, DELAY);
                    }
                  })
              .setNegativeButton(
                  "안해",
                  new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                      mParent.finish();
                    }
                  })
              .show();
        }
        return true;
      }
      return false;
    }