【发布时间】:2014-05-11 11:01:21
【问题描述】:
我只在用户触摸从位图本身移动时才尝试移动位图,它适用于向下和侧向移动,但当我尝试向上移动位图时它不起作用。
目前我正在联系:
public boolean onTouch(View v, MotionEvent m)
{
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
int Xtouch = (int) m.getX();
int Ytouch = (int) m.getY();
switch(m.getAction())
{
case MotionEvent.ACTION_MOVE:
if(Xtouch >= x && Xtouch < (x + ball.getWidth())
&& Ytouch >= y && Ytouch < (y + ball.getHeight()))
{
x = Xtouch;
y = Ytouch;
}
break;
}
return true;
}
x 和 y 是我的位图坐标,球是我的位图。我目前所拥有的只是执行标题中描述的行为。很抱歉,我真的无法更具体地解决我的问题,但如果有人能发现我遇到的任何潜在的愚蠢错误,那将是一个很大的帮助?
谢谢
编辑:
这就是我创建位图的方式:
ball= BitmapFactory.decodeResource(getResources(), R.drawable.ball);
我最初将位图的 x 和 y 设置为 0。
这就是我绘制位图的方式:
c.drawBitmap(ball, x - (ball.getWidth()/2), y-(ball.getHeight()/2), null);
这使用位图的中心在画布的左上角绘制。
【问题讨论】:
标签: java android canvas bitmap