2012-03-10 3 views
1

Итак, я делаю простое приложение на поверхностиView, где у меня есть растровое изображение шара, идущего от верхней части экрана до нижней. Как только он доходит до дна, он снова появляется наверху, где он снова начинает падать назад.Разработка Android, как получить приблизительные координаты?

Далее я попытался сделать так, чтобы, когда я щелкнул по мячу, когда он падал, он вернется в верхнюю часть экрана. Тем не менее, у меня проблема с этим, потому что я не могу щелкнуть по нему (потому что, кажется, его единственный пиксель). Я установил onTouchListener в координаты getX() и getY() щелчка, и если координаты x и y щелчка равны x и y текущей позиции мяча, тогда шар возвращается в верхнюю часть экрана.

Это не работает. Потому что для того, чтобы я мог щелкнуть по мячу, мне нужно было щелкнуть точную центральную пиксель, на которой был шар в то время. Поэтому мой вопрос заключается в том, как я могу сказать: если щелчок равен , или приблизительно, равный текущей позиции мяча, тогда вернитесь в начало. Я ноб с этим, поэтому, если я задаю тупые вопросы, я извиняюсь, я стараюсь учиться. И большое спасибо за помощь. Я ценю это.

ответ

3

Это должно сработать для вас. Просто переопределите метод onTouch.

@Override 
    public boolean onTouch(View v, MotionEvent me) 
    { 
     try 
     { 
      Thread.sleep(50); 
     } catch (InterruptedException e) 
     { 
      e.printStackTrace(); 
     } 
     switch (me.getAction()) 
     { 
     case MotionEvent.ACTION_DOWN: 
      x = me.getX(); 
      y = me.getY(); 
      break; 
     case MotionEvent.ACTION_UP: 
      x = me.getX(); 
      y = me.getY(); 
      break; 
     case MotionEvent.ACTION_MOVE: 
      x = me.getX(); 
      y = me.getY(); 
      break; 
     case MotionEvent.ACTION_OUTSIDE: 
      x = 100; 
      y = 200; 
      break; 
     } 
     return true; 
    } 

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

  • Нет связанных вопросов^_^