プレーヤーの x ピクセルと y ピクセルをポイントからポイントへと同じ方向に移動できる必要があります。説明するのは難しいですが、これは私がやろうとしていることです:
角度 1 と 2 は同じでなければなりません。ポイント 1 は (100, 100) で同じままですが、ポイント 2 は常に変化するため、角度も変化しなければなりません。私はこれを試しました:
moveRectangle.setX(touchEvent.getX());
moveRectangle.setY(touchEvent.getY());
float theta = (float) Math.toDegrees(Math.atan2(touchEvent.getY() - 100,touchEvent.getY() - 100));
float velX = (float) (getSpeed() * Math.cos(theta));
float velY = (float) (getSpeed() * Math.sin(theta));
player.move(velX, velY);
上記のコードは、ユーザーが moveRectangle (ポイント 2) に指を置いて移動すると、常に実行されます。しかし、上記のコードは機能しません。プレーヤーは、2 つの方向のいずれかに移動するだけです。player.move は velX と velY の速度を追加するだけです。では、どうすれば 2 つの角度を取得し、プレーヤーを正しい方向に動かすことができるでしょうか? ありがとう。