x、yで定義された点と、見出し、速度で定義されたベクトルがあります。このベクトルに沿って、点x、yを「速度」の距離で移動しようとしています。以下は私が現在使用しているコードです:
self.x += self.speed * cos(self.heading);
self.y += self.speed * sin(self.heading);
見出しは、完全な円内の任意の角度(0〜2π(0〜360度))にすることができます。問題は上記のコードです:
- 角度が0->270の場合にのみ、x軸またはy軸に沿って移動します
- たとえば、アバターが右上隅(相対45度)を向いている場合、アバターはまっすぐ上に移動します。
- たとえば、アバターが右上隅(相対45度)を向いている場合、アバターはまっすぐ上に移動します。
- 角度が270->360のときはまったく動かない
方位、速度、X、Yはすべて2倍であり、方位はユーザーが下隅の方向パッドに触れることで報告されます。アバターが正しい方向に回転するので、見出しが正しいことはわかっています。これは、私が問題を抱えている実際の動きにすぎません。
助けてくれてありがとう
-クリス