好的,所以我在surfaceView上制作了一个简单的应用程序,其中我有一个从屏幕顶部到底部的球的位图。一旦它到达底部,它再次出现在顶部,它再次开始回落。
接下来我试着这样做,这样当我在球落下时点击球时,它会回到屏幕的顶部。但是,我遇到了这个问题,因为我无法点击它(因为它只有一个像素,我认为)。我将onTouchListener设置为点击的getX()
和getY()
坐标,如果点击的x和y坐标等于球的当前位置的x和y,则球返回到屏幕的顶部。
但这不起作用。因为为了让我能够点击球,我必须点击当时球所在的确切中心像素。所以我的问题是如何说:如果点击接近,或大约等于球的当前位置,则返回顶部。我是一个菜鸟,如果我问愚蠢的问题,我道歉,我正在努力学习。非常感谢你的帮助。我很感激。
答案 0 :(得分: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;
}