0

私が作成したゲームを Windows (Visual Studio c# XNA4) から Android に移植しています。

ゲームでは、ユーザーの「タッチ」の位置を見つけて (私が行った)、プレーヤーをこのタッチ位置に「ポイント」する必要があります (プレーヤーのビットマップをこの角度で描画します)。

C# と XNA4 では、以下を使用しました。

Matrix rotationMatrix = Matrix.CreateRotationZ(playerAngle);
PlayerDirection = Vector2.Transform(up, rotationMatrix); 

プレイヤーの位置が

x = 200;
y = 200; 

そしてタッチ座標は

x = 300;
y = 300;

ユーザーが触れた場所をプレイヤーに「ポイント」させるにはどうすればよいですか?

4

1 に答える 1

2

Java (Java for Android を使用していると仮定します) では、次のようにして角度を見つけます。

private double getAngle(double x1, double y1, double x2, double y2)
{
    return Math.atan2(y2-y1, x2-x1);
}
于 2013-06-07T18:16:58.270 に答える