Unidade: Como posso mudar e acompanhar a direcção que o meu duende 2D está a tomar?
Comparação de cordas é lenta, ela's geralmente uma escolha ruim para armazenar informações de estado. Também pode ser propensa a erros, pois você só detectará strings com erros quando o código estiver rodando e elas não corresponderem quando deveriam, um grande truque para rastrear.
Se o que você está armazenando tem apenas dois estados, então um bool fará muito melhor. Você poderia chamá-lo de frente para a Direita e fazer com que seja verdadeiro ou falso, dependendo da direção em que ele's está voltado.
Se houver's mais possibilidades do que uma enumeração é uma escolha melhor. Um enum é uma forma útil de dar um nome a um número inteiro, combina a legibilidade no código com segurança do tipo e comparação rápida e confiável. Como um enum é um tipo declarado, ele será completado automaticamente e um erro de compilação se um for digitado errado.
Você declara um enum dentro da sua classe desta forma.
- public enum SpriteOrientation
- {
- ORIENT_LEFT = 0,
- ORIENT_UP,
- ORIENT_RIGHT,
- ORIENT_DOWN
- }
On a side note, you should learn to write code that's encapsulated and decoupled. It's not a good idea to be handling input inside your character controller code.
Handle input in an input manager, and broadcast events, then have your character controller subscribe to the events.
Artigos semelhantes
- Que tamanho de pixel devo fazer para o meu duende?
- Para aqueles que estiveram em combate, consegues mesmo ver um RPG que está a vir na tua direcção?
- Que software posso usar para acompanhar a atividade do computador do meu funcionário?
- Como é que os soldados determinam onde fica a posição das 12 horas (direcção relativa)?