Android尝试将图像视图流畅地移动到点击屏幕的位置

时间:2014-11-23 18:57:36

标签: android touch game-physics ontouch

我正在为一个班级开发一个简单的游戏应用程序。现在我正在尝试实现简单的功能,即将角色(图像视图)从当前所在的位置移动到点击屏幕的任何位置。我现在有这个,但没有动画,所以角色只是从屏幕上的一个位置跳到我点击屏幕的位置。 这是代码:

@Override
public boolean onTouchEvent(MotionEvent event) {    
    float tx = event.getX();
    float ty = event.getY();

    int action = event.getAction();
    switch(action) {
    case MotionEvent.ACTION_DOWN:
        tx = event.getX();
        ty = event.getY();

        findViewById(R.id.character).setX(tx-45);
        findViewById(R.id.character).setY(ty-134);
        break;
    default:
    }
    return true;
}

此代码位于GameActivity.java文件中,我目前已控制在您点击“玩游戏”并进入游戏屏幕后发生的任何类型的活动。 我试图让角色(imageView)从当前位置移动到屏幕被轻轻敲击的位置,所以我点击屏幕,角色在一段时间内从当前位置移动到发生敲击的位置。请帮忙!

1 个答案:

答案 0 :(得分:0)

ImageView splash ;
@Override
public boolean onTouchEvent(MotionEvent event) {
    float tx = event.getX();
    float ty = event.getY();

    int action = event.getAction();
    switch(action) {
        case MotionEvent.ACTION_DOWN:
            tx = event.getX();
            ty = event.getY();

     //       findViewById(R.id.character).setX(tx-45);
      //      findViewById(R.id.character).setY(ty-134);

            ObjectAnimator animX = ObjectAnimator.ofFloat(splash, "x", tx-45);
            ObjectAnimator animY = ObjectAnimator.ofFloat(splash, "y", ty-134);
            AnimatorSet animSetXY = new AnimatorSet();
            animSetXY.playTogether(animX, animY);
            animSetXY.start();

            break;
        default:
    }
    return true;
}