QNA > U > Unità: Come Posso Cambiare E Tenere Traccia Della Direzione In Cui Si Trova Il Mio Sprite 2D?

Unità: Come posso cambiare e tenere traccia della direzione in cui si trova il mio sprite 2D?

Il confronto delle stringhe è lento, è generalmente una cattiva scelta per memorizzare le informazioni di stato. Può anche essere incline all'errore in quanto si rilevano solo le stringhe sbagliate quando il codice è in esecuzione e non riescono a corrispondere quando dovrebbero, un grosso problema da rintracciare.

Se ciò che si sta memorizzando ha solo due stati, allora un bool farà molto meglio. Potreste chiamarlo facingRight e farlo essere vero o falso a seconda della direzione in cui è rivolto.

Se ci sono più possibilità, un enum è una scelta migliore. Un enum è un modo utile per dare un nome a un intero, combina la leggibilità del codice con la sicurezza del tipo e un confronto veloce e affidabile. Poiché un enum è un tipo dichiarato, sarà autocompletato e si verificherà un errore di compilazione se uno è digitato male.

Si dichiara un enum all'interno della propria classe in questo modo.

  1. public enum SpriteOrientation 
  2. ORIENT_LEFT = 0, 
  3. ORIENT_UP, 
  4. ORIENT_RIGHT, 
  5. 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.

Di Rafat Monica

Julian Newman è un talento NBA? :: Dovrei comprare un iPhone SE, Nord o Pixel 4A?
Link utili