【问题标题】:Android trying to move an imageview fluidly to where screen is tappedAndroid试图将图像视图流畅地移动到点击屏幕的位置
【发布时间】:2014-11-23 18:57:35
【问题描述】:

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

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

【问题讨论】:

标签: android touch game-physics ontouch


【解决方案1】:
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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多