Numerics är ett bibliotek som innehåller mer avancerade numeriska typer, som komplement till de vanliga, t.ex. int.
usingSystem.Numerics;
De används ofta i spel, till exempel sådana man skapar med Raylib. Däremot har Unity sina egna Vector-klasser.
Vector2
En Vector2 är en tvådimensionell vektor som består av två komposanter, en i x-led och en i y-led. Komposanterna har datatypen float.
// Skapa en vektor med X-värde 20 och Y-värde 30.5Vector2 position =newVector2(20f,30.5f);
Man kan använda räknesätt med vektorer.
Vector2 position =newVector2(20,20);Vector2 movement =newVector2(0.1f,0.1f);// Adderar movement-vektorn till position-vektornposition += movement;
Man kan till och med kombinera vektorer med vanliga siffror och räknesätt.
Vector2 position =newVector2(20,20);// Skapar en vektor med X-värde 1 och Y-värde 0; // multiplicerar sedan både X och Y med 0.5.Vector2 movement =newVector2(1f,0f) *0.5f;position += movement;
X och Y
X och Y är float-egenskaper hos varje vektor.
Vector2 position =newVector2(20,30);Console.WriteLine(position.X); // 20Console.WriteLine(position.Y); // 30
Length()
En metod inbyggd i varje vektor. Ger vektorns storlek (magnitud) som en float.
Vector2 position =newVector2(20,20);float l =position.Length(); // 28.284271
Vector2.Distance()
Ger avståndet mellan två vektorer som en float.
Vector2 position =newVector2(20,20);Vector2 enemyPosition =newVector2(30,30);float d =Vector2.Distance(position, enemyPosition); // 14.142136
Vector2.Normalize()
Ger en normaliserad version av en vektor.
Vector2 position =newVector2(20,10);// Ger en vektor med storlek 1, X 0.8944272 och Y 0.4472136Vector2 n =Vector2.Normalize(position);