如何获取图片的位置坐标,还有如何获取两张图片相撞,~~~~~~~~~

解决方案 »

  1.   

    MotionEvent.getX()获取控件相对于父亲控件的位置 ,MotionEvent.getRawX()获得相对屏幕的位置,不知道这对你有帮助没
      

  2.   

    图片肯定是你自己在ondraw里绘制的吧,那既然自己知道怎么绘制,肯定也知道图片运动的轨迹了啊,图的宽高自己也知道,算一下就不行了?
      

  3.   

    package pan.move;
    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.os.Handler;
    import android.view.View;
    import android.widget.ImageView;public class MovingPictureView extends View implements Runnable{

    int left1=100,top1=100;
    int left2=0,top2=0;
     int dx=1,dy=2;
     int ex=2,ey=1;
        Bitmap bitmap1;
        Bitmap bitmap2;
        Handler handler;
        Boolean isRuning=true;
        
    public MovingPictureView(Context context) {
    super(context);
    bitmap1=new BitmapFactory().decodeResource(getResources(), R.drawable.icon);
    bitmap2=new BitmapFactory().decodeResource(getResources(), R.drawable.icon);
    handler=new Handler();
        new Thread(this).start();
    }
    protected void onDraw(Canvas canvas){
    canvas.drawBitmap(bitmap1, left1, top1, null);
    canvas.drawBitmap(bitmap2, left2, top2, null);



    public void run() {
    // TODO Auto-generated method stub
    while(isRuning){
    dx=left1<0||(left1+bitmap1.getWidth())>getWidth()?-dx:dx;
    dy=top1<0||(top1+bitmap1.getHeight())>getHeight()-60?-dy:dy;
    ex=left2<0||(left2+bitmap1.getWidth())>getWidth()?-ex:ex;
    ey=top2<0||(top2+bitmap1.getHeight())>getHeight()-60?-ey:ey;
    left1+=dx;
    top1+=dy;
    left2-=ex;
    top2+=ey;

    handler.post(new Runnable() {


    public void run() {
    // TODO Auto-generated method stub
    invalidate();
    }
    });
    try{
    Thread.sleep(60);
    }catch(InterruptedException e){
    e.printStackTrace();
    }
    }}}
    这是代码,如何修改可以判断碰撞并改变方向
      

  4.   

    package pan.move;import android.app.Activity;
    import android.os.Bundle;
    import android.widget.ImageView;public class move extends Activity {
        /** Called when the activity is first created. */
        
       
        public void onCreate(Bundle savedInstanceState) {
        
            super.onCreate(savedInstanceState);
            setContentView(new MovingPictureView(this));
            
        }
    }主类的代码