Je joue actuellement avec XNA et je crée un simple jeu de plateforme 2D. Je pensais ajouter plusieurs couches pour en faire un peu difficile.
Au lieu d'avoir un Vector2
pour mes positions, j'utilise maintenant un Vector3
, uniquement pour l'utiliser Z
comme profondeur de couche. Cependant, comme vous ne pouvez pas utiliser d'opérateurs entre Vector2
et Vector3
pour une raison inconnue [1] , j'ai fini par changer tous les autres Vector2
s de mon jeu, tels que l' accélération , la vitesse et l' offset , donc je peux faire des choses comme position += offset
sans erreurs.
J'ai également changé ma variable de rotation de float
en Vector3
, et j'utilise la Z
valeur pour faire pivoter mes textures. Je prévois d'utiliser le X
et Y
pour inverser l'échelle de mes textures, afin d'obtenir l'effet Super Paper Mario.
Cependant, après avoir changé tous ces Vector2
s en Vector3
s, je me sentais un peu mal à ce sujet. Comment cela affecte-t-il les performances des jeux? Je sais que je ne devrais pas avoir à me soucier des performances de mon petit jeu de plateforme, mais je suis simplement curieux de savoir.
Y at - il des performances notable entre Vector2
s et Vector3
s, par exemple lors de l' ajout ou de les multiplier, ou lors de l' appel Normalize
, Transform
ou Distance
?
[1] Juste une question secondaire, pourquoi n'y a-t-il pas d'opérateurs pour les calculs entre Vector3 et Vector2?