Atualmente, estou brincando com o XNA e criando um simples jogo de plataformas 2D. Eu estava pensando em adicionar várias camadas para torná-lo um pouco desafiador.
Em vez de ter um Vector2
para minhas posições, agora uso um Vector3
, apenas para usá-lo Z
como profundidade da camada. No entanto, como você não pode usar operadores entre Vector2
e Vector3
por algum motivo desconhecido [1] , acabei alterando todos os outros Vector2
s no meu jogo, como aceleração , velocidade e deslocamento , para que eu possa fazer coisas como position += offset
sem erros.
Também alterei minha variável de rotação de float
para Vector3
e uso o Z
valor para girar minhas texturas. Estou planejando usar X
e Y
mudar minhas texturas para que você obtenha o efeito Super Paper Mario.
No entanto, depois de alterar todos esses Vector2
s em Vector3
s, me senti um pouco mal com isso. Como isso afeta o desempenho dos jogos? Eu sei que não deveria ter que me preocupar com o desempenho no meu pequeno jogo de plataforma, mas estou curioso.
Existe algum desempenho notável entre Vector2
s e Vector3
s, por exemplo, quando adicionando ou multiplicando-os, ou ao chamar Normalize
, Transform
ou Distance
?
[1] Apenas uma pergunta secundária, por que não existem operadores para cálculos entre o Vector3 e o Vector2?