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 に答える