我试图弄清楚如何使用onTouch方法的输入在画布视图上移动位图。 截至目前,我的位图仅以45°角移动,直到我的位图的一个X或Y坐标与指尖匹配。 有谁知道如何改变其中一个X或Y cooridates的速度,以便它“飞”到手指的位置? 谢谢你的帮助:)
我的onDraw():
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawBitmap(BackScaled,0,0,null);
canvas.drawBitmap(bobScale,meX-bobScale.getWidth(),meY - bobScale.getHeight(),null);
canvas.drawBitmap(grunScale,700,10,null);
if(touched == 1 && meX<= pressX && fliegen == 0){
meX = meX+ (width /300);
}
if(touched == 1 && meX >=pressX &&fliegen == 0){
meX = meX- (width / 300);
}
if(meX >= width -(width/6)){
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawText("The door is closed", 600, 350, paint);
}
if(pressX >= 700 && pressX < 800 && pressY >= 10 && pressY <= 110){
fliegen = 1;
}
if(meX<= pressX && meY >= pressY && fliegen == 1 &&touched ==1){
meX = meX+4;
meY = meY-4;
}
if(meX>= pressX && meY <= pressY && fliegen == 1 &&touched ==1){
meX = meX-4;
meY = meY+4;
}
if(meX >= pressX && meY >=pressY && fliegen == 1 && touched == 1){
}
invalidate();
}
onTouch:
public boolean onTouch(View v, MotionEvent me) {
if (me.getAction() == MotionEvent.ACTION_DOWN){
touched = 1;
pressX = (int)me.getX();
pressY = (int)me.getY();
}
if(me.getAction()== MotionEvent.ACTION_MOVE);{
touched = 1;
pressX = (int)me.getX();
pressY = (int)me.getY();
}
if(me.getAction() == MotionEvent.ACTION_UP){
touched = 0;
}
return true;
}
如果您还有其他问题要回答我的问题,请随时提出要求!
答案 0 :(得分:0)
我在之前构建的应用程序中使用了本教程。试着真正理解他在做什么,你会找到答案。
http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/