Personalmente, mi piace molto l'idea di stage, scene e attori, anche per piccoli progetti. In questo modo, puoi sempre aggiungere nuove classi e semplicemente inserirle, e agiscono come singoli oggetti che possono essere pensati come tali.
Creando classi per tutti gli oggetti sottoposti a rendering in questo modo:
- Stage (MainMenu)
- Scena (MenuNavigator)
- Attore (MenuItem)
- Attore (MenuItem)
- Attore (MenuItem)
- Attore (MenuItem)
- Stage (InGame)
- Scene (Gameplay)
- Attore (StarUnderlay)
- Attore (nave)
- Attore (nemico)
- Scene (ScoreOverlay)
- Attore (testo)
- Attore (testo)
- Attore (testo)
- Scene (GameOver)
- Attore (testo)
- Attore (MenuItem)
Ottieni un mondo di vantaggi.
Classificando le tue entità, avrai riusabilità (come MenuItem, testo e creazione di nemici che usano classi comuni o classi anonime). Ciò significa che dovrai riscrivere meno codice e condividere la logica su tutti gli oggetti.
Classificando le scene, puoi anche riutilizzare questo codice, come avere uno stage InGame che utilizza un punteggiooverguardo, così come uno stage InReplay che utilizza anche tale visualizzazione del punteggio, in cui i dati sono compilati dallo stage.
Classificando le tue fasi, puoi mettere la tua logica di base lì come è dove è attualmente il tuo utente nel gioco. Una fase MainMenu può essere sostituita con uno stage InGame e, semplicemente sostituendo l'oggetto che si sta eseguendo, non dovrai preoccuparti di deallocare gli oggetti giusti dato che avrai o meno la garbage collection o la possibilità di richiedere l'assegnazione degli oggetti figlio. .
L'idea è di ridurre la responsabilità sia ora che nel futuro di tutte le tue classi, e così si finisce con le singole unità che lavorano insieme per produrre un prodotto finale. Se una cosa si rompe, è più probabile che tu sappia dove e perché, e non dovrai scavare attraverso un file di 800 righe, ma forse un file di 100 righe.
Quando si va a tirare insieme, si può pensare ad esso come se si stesse giocando (quindi perché le scene, le scene e gli attori sono espressioni usate comunemente). Hai bisogno di un mostro per apparire? Quindi aggiungi un nuovo attore per ritrarre quel mostro. Quando quel mostro non è più necessario, viene tirato fuori dalla scena.
Sì, probabilmente finirai con una buona quantità di classi, ma molte persone sosteranno che 100 classi sono meglio di 1.000 linee, perché di nuovo, saprai sempre cosa è quando i concetti vengono separati.