所以我试图让球撞到墙上并像乒乓球一样反弹。但出于某种原因,当球认为帆布比实际上更小时。 这是我的onDraw代码:
canvasWidth = canvas.getWidth();
canvasHeight = canvas.getHeight();
if (flag) {
x = (int) canvasWidth;
y = (int) canvasHeight;
}
else
{
if (goingRight)
x=x+5;
else
x=x-5;
if (goingDown)
y=y+5;
else
y=y-5;
}
canvas.drawBitmap(ball,x/2,y/2,null);
if (x>canvasWidth)
goingRight=false;
else if (x<0)
goingRight=true;
if (y>canvasHeight)
goingDown=false;
else if (y<0)
{
goingDown=true;
}
flag=false;
无法找到解决方法。有谁知道这是什么问题?
答案 0 :(得分:0)
可能是因为你把球拉到半个半世界。
canvas.drawBitmap(ball,x/2,y/2,null);
我想你想把球画在位图的上/左角但不是在中心。
未经测试!尝试一下......
canvas.drawBitmap(ball,x - (ball.getWidth()/2),y - (ball.getHeight()/2),null);