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 Vector2für meine Positionen zu haben, verwende ich jetzt ein Vector3, nur um es Zals Ebenentiefe zu verwenden. Da Sie jedoch keine Operatoren zwischen Vector2und Vector3aus einem unbekannten Grund verwenden können [1] , habe ich letztendlich alle anderen Vector2s in meinem Spiel geändert, z. B. Beschleunigung , Geschwindigkeit und Versatz , damit ich Dinge wie position += offsetohne Fehler tun kann.
Ich habe auch meine Rotationsvariable von floatauf geändert Vector3und verwende den ZWert, um meine Texturen zu drehen. Ich habe vor, meine Texturen mit Xund Yzu skalieren, damit Sie den Super Paper Mario-Effekt erhalten.
Nachdem ich all diese Vector2s in Vector3s 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 Vector2s und Vector3s, zum Beispiel beim Hinzufügen oder Multiplizieren sie, oder wenn Sie anrufen Normalize, Transformoder Distance?
[1] Nur eine Nebenfrage: Warum gibt es keine Operatoren für Berechnungen zwischen Vector3 und Vector2?