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.
- 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.
Articoli simili
- C'è qualche app o sito web su cui posso tenere traccia di anime che ho guardato e anime che vorrei guardare?
- Quale percorso traccia la Luna intorno alla Terra mentre orbita e in quale direzione?
- Quale app posso usare per tenere traccia del Samsung Galaxy S7 Edge di mio marito?
- C'è qualche app per ricordarci di bere e tenere traccia della mia assunzione di acqua?