2012-07-04 3 views
0

Получение нескольких ошибок и не уверен, что делать. Пожалуйста помоги. Попытка разработать змеиную игру в версии android версии 1.5 и использование eclipse sdk версии 4.2.0 кажется, что эти ошибки - единственное, что удерживает меня от возможности отлаживать мою игру.MultiTouchHandler Несколько ошибок?

The method getX() in the type MotionEvent is not applicable for the arguments (int) 
The method getY() in the type MotionEvent is not applicable for the arguments (int) 
The method getX() in the type MotionEvent is not applicable for the arguments (int) 
The method getY() in the type MotionEvent is not applicable for the arguments (int) 
The method getPointerCount() is undefined for the type MotionEvent 
The method getPointerId(int) is undefined for the type MotionEvent 
ACTION_POINTER_DOWN cannot be resolved or is not a field  
The method getX() in the type MotionEvent is not applicable for the arguments (int) 
The method getY() in the type MotionEvent is not applicable for the arguments (int) 
ACTION_POINTER_UP cannot be resolved or is not a field MultiTouchHandler.java 
ACTION_MASK cannot be resolved or is not a field  
ACTION_POINTER_ID_MASK cannot be resolved or is not a field 
ACTION_POINTER_ID_SHIFT cannot be resolved or is not a field 
The method getPointerId(int) is undefined for the type MotionEvent 

Код:

public boolean onTouch(View v, MotionEvent event) { 
    synchronized (this) { 
     int action = event.getAction() & MotionEvent.ACTION_MASK; 
     int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK) >> MotionEvent.ACTION_POINTER_ID_SHIFT; 
     int pointerId = event.getPointerId(pointerIndex); 

     switch (action) { 
     case MotionEvent.ACTION_DOWN: 
     case MotionEvent.ACTION_POINTER_DOWN: 
      touchEvent = touchEventPool.newObject(); 
      touchEvent.type = TouchEvent.TOUCH_DOWN; 
      touchEvent.pointer = pointerId; 
      touchEvent.x = touchX[pointerId] = (int) (event 
        .getX(pointerIndex) * scaleX); 
      touchEvent.y = touchY[pointerId] = (int) (event 
        .getY(pointerIndex) * scaleY); 
      isTouched[pointerId] = true; 
      touchEventsBuffer.add(touchEvent); 
      break; 

     case MotionEvent.ACTION_UP: 
     case MotionEvent.ACTION_POINTER_UP: 
     case MotionEvent.ACTION_CANCEL: 
      touchEvent = touchEventPool.newObject(); 
      touchEvent.type = TouchEvent.TOUCH_UP; 
      touchEvent.pointer = pointerId; 
      touchEvent.x = touchX[pointerId] = (int) (event 
        .getX(pointerIndex) * scaleX); 
      touchEvent.y = touchY[pointerId] = (int) (event 
        .getY(pointerIndex) * scaleY); 
      isTouched[pointerId] = false; 
      touchEventsBuffer.add(touchEvent); 
      break; 

     case MotionEvent.ACTION_MOVE: 
      int pointerCount = event.getPointerCount(); 
      for (int i = 0; i < pointerCount; i++) { 
       pointerIndex = i; 
       pointerId = event.getPointerId(pointerIndex); 

       touchEvent = touchEventPool.newObject(); 
       touchEvent.type = TouchEvent.TOUCH_DRAGGED; 
       touchEvent.pointer = pointerId; 
       touchEvent.x = touchX[pointerId] = (int) (event 
         .getX(pointerIndex) * scaleX); 
       touchEvent.y = touchY[pointerId] = (int) (event 
         .getY(pointerIndex) * scaleY); 
       touchEventsBuffer.add(touchEvent); 
      } 
      break; 
     } 

     return true; 
    } 
} 
+0

Что вы пытаетесь достичь здесь touchEvent.x = touchX [pointerId] = (int) (событие .getX (pointerIndex) * scaleX); ??? это shoulb be подобный touchEvent.x = touchX [pointerId] = (int) (событие .getX() * масштабX); –

+0

Я создаю пул для экземпляра TouchEvent, зарегистрирую обработчики как OnTouchListener и сохраняю значения прокрутки –

ответ

0

Все эти ошибки, за которые вы получаете ошибки, недоступны на выбранном уровне API. Либо увеличьте уровень API, либо удалите любой код, специфичный для мультитач.

+0

, похоже, решает мою проблему. Спасибо –

+0

Рад это слышать :) – Magicode

0

Ваши методы/переменные не совпадая с типом требуемого от контекста, в котором вы их используете, судя по ней.

Просмотрите свой код и посмотрите, совпадают ли аргументы метода и типы возвращаемых данных.

+0

уверен, что все они совпадают –

Смежные вопросы