Răsfoiți Sursa

Merge pull request #42606 from aaronfranke/cs-vec2-rotated

Improve the Vector2 rotated code in C#
Rémi Verschelde 5 ani în urmă
părinte
comite
e93af13959
1 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 5 2
      modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2.cs

+ 5 - 2
modules/mono/glue/GodotSharp/GodotSharp/Core/Vector2.cs

@@ -437,8 +437,11 @@ namespace Godot
         /// <returns>The rotated vector.</returns>
         public Vector2 Rotated(real_t phi)
         {
-            real_t rads = Angle() + phi;
-            return new Vector2(Mathf.Cos(rads), Mathf.Sin(rads)) * Length();
+            real_t sine = Mathf.Sin(phi);
+            real_t cosi = Mathf.Cos(phi);
+            return new Vector2(
+                x * cosi - y * sine,
+                x * sine + y * cosi);
         }
 
         /// <summary>