Wie finde ich die rotation transformiert 2D-Koordinaten in XNA?

Mache ich ein XNA-Spiel und haben Sie in ein kleines problem, herauszufinden, ein bißchen Vektor-Mathematik.

Habe ich eine Klasse repräsentiert ein 2D-Objekt mit X-und Y-integer-Koordinaten und Rotation float. Was ich brauche ist ein Vector2 Eigenschaft für die Position, die setzt X und Y als Vector2 umgewandelt wurde mithilfe der Rotation float. Auf diese Weise kann ich das einfach machen;

Position += new Vector2((thumbstick.X * scrollSpeed), -(thumbstick.Y * scrollSpeed));

und das Objekt bewegt sich in seine eigene Richtung nach oben, statt den Blick nach oben Richtung.

Bisher dies ist, was ich habe...ich denke, der Satz ist richtig, aber += änderungen es braucht, eine bekommen und die Antwort ist eben nicht, zu mir zu kommen, gerade jetzt,... >.>

public Vector2 Position
{
    get
    {
        //What goes here? :S
    }
    set
    {
        X = value.X * (int)Math.Cos(this.Rotation);
        Y = value.Y * (int)Math.Cos(this.Rotation);
    }
}
Schreibe einen Kommentar