Ich spiele gerade mit XNA herum und erstelle einen einfachen 2D-Plattformer. Ich dachte daran, mehrere Ebenen hinzuzufügen, um es ein wenig herausfordernd zu machen.
Anstatt ein Vector2
für meine Positionen zu haben, verwende ich jetzt ein Vector3
, nur um es Z
als Ebenentiefe zu verwenden. Da Sie jedoch keine Operatoren zwischen Vector2
und Vector3
aus einem unbekannten Grund verwenden können [1] , habe ich letztendlich alle anderen Vector2
s in meinem Spiel geändert, z. B. Beschleunigung , Geschwindigkeit und Versatz , damit ich Dinge wie position += offset
ohne Fehler tun kann.
Ich habe auch meine Rotationsvariable von float
auf geändert Vector3
und verwende den Z
Wert, um meine Texturen zu drehen. Ich habe vor, meine Texturen mit X
und Y
zu skalieren, damit Sie den Super Paper Mario-Effekt erhalten.
Nachdem ich all diese Vector2
s in Vector3
s geändert hatte, fühlte ich mich ein wenig schlecht dabei. Wie wirkt sich das auf die Leistung von Spielen aus? Ich weiß, ich sollte mir in meinem kleinen Plattformspiel keine Sorgen um die Leistung machen müssen, aber ich bin nur neugierig darauf.
Gibt es eine bemerkenswerte Leistung zwischen Vector2
s und Vector3
s, zum Beispiel beim Hinzufügen oder Multiplizieren sie, oder wenn Sie anrufen Normalize
, Transform
oder Distance
?
[1] Nur eine Nebenfrage: Warum gibt es keine Operatoren für Berechnungen zwischen Vector3 und Vector2?