1

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

@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)从其当前位置移动到流畅地点击屏幕的任何位置,所以我点击屏幕,角色在一段时间内从当前位置移动到点击发生的位置. 请帮忙!

4

1 回答 1

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;
}
于 2015-05-17T09:58:46.790 回答