Actualmente estoy jugando con XNA y creando un simple juego de plataformas en 2D. Estaba pensando en agregar varias capas para que sea un poco desafiante.
En lugar de tener un Vector2
para mis posiciones, ahora uso un Vector3
, solo para usarlo Z
como profundidad de capa. Sin embargo, dado que no puedes usar operadores entre Vector2
y Vector3
por alguna razón desconocida [1] , terminé cambiando todos los demás Vector2
s en mi juego, como la aceleración , la velocidad y el desplazamiento , por lo que puedo hacer cosas como position += offset
sin errores.
También cambié mi variable de rotación de float
a Vector3
, y uso el Z
valor para rotar mis texturas. Estoy planeando usar X
y Y
voltear mis texturas a escala, para que obtengas el efecto Super Paper Mario.
Sin embargo, después de cambiar todas estas Vector2
s en Vector3
s, me sentí un poco mal por eso. ¿Cómo afecta esto el rendimiento de los juegos? Sé que no debería tener que preocuparme por el rendimiento en mi pequeño juego de plataformas, pero tengo curiosidad por eso.
¿Hay alguna rendimiento notable entre Vector2
s y Vector3
s, por ejemplo, al añadir o multiplicándolos, o al llamar Normalize
, Transform
o Distance
?
[1] Solo una pregunta secundaria, ¿por qué no hay operadores para los cálculos entre Vector3 y Vector2?