Разработка Android, как получить приблизительные координаты?
Итак, я делаю простое приложение для SurfaceView, где у меня есть растровое изображение шара, который идет от верхней части экрана к нижней. Как только он достигает дна, он снова появляется сверху, где снова начинает падать.
Затем я попытался сделать так, чтобы при нажатии на шарик, когда он падал, он возвращался к верхней части экрана. Однако у меня возникла проблема с этим, потому что я не могу щелкнуть по нему (потому что я думаю, что он всего один пиксель). Я установил onTouchListener на getX()
а также getY()
координаты щелчка, и если координаты x и y щелчка равны x и y текущей позиции мяча, то мяч возвращается в верхнюю часть экрана.
Это не работает, хотя. Потому что для того, чтобы я мог щелкнуть по мячу, мне нужно было щелкнуть точный центральный пиксель, на котором был шарик в то время. Итак, мой вопрос: как мне сказать: если щелчок близок или приблизительно равен текущей позиции мяча, вернитесь к вершине. Я новичок в этом, поэтому, если я задаю глупые вопросы, я прошу прощения, я стараюсь изо всех сил учиться. И большое спасибо за помощь. Я ценю его.
1 ответ
Это должно работать для вас. Просто переопределите метод 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;
}