Sto creando un gioco HTML5 usando javascript e ho avuto alcuni problemi durante la prima istanziazione degli oggetti della scena.
Scenario
- Motore di gioco 2d autoprodotto che supporta più tipi di oggetti.
"Glossario"
- Un oggetto è un'entità legata alla scena ed è sempre un'estensione di un modello , che è astratto.
- Una scena contiene una raccolta di oggetti.
Problema
Quando istanzio la scena del gioco, prima carica i dati della scena dalla memoria locale, quindi procedo a creare un'istanza dei suoi oggetti. Il problema è che il tipo dell'oggetto di gioco (sprite, text ...) è dichiarato nel modello, non nell'oggetto (che ha un riferimento al modello). In questo modo devo recuperare il modello dell'oggetto per sapere quale tipo di oggetto di gioco ho bisogno di instaziare, e davvero non mi piace.
Potrei salvare il tipo dell'oggetto come una proprietà dell'oggetto, ma sarebbe logicamente sbagliato: non dovrei essere in grado di ridefinire il tipo di oggetto deciso nel modello perché sarebbe facilmente interrompere l'implementazione dell'oggetto di gioco dichiarato nel modello. Quindi, non ha senso salvare il tipo dell'oggetto nell'oggetto stesso dato che il modello ha già il compito di dichiararlo.
Quindi, forse ho bisogno di una nuova architettura ...
Come posso evitare di recuperare il modello senza rompere la logica di 'questo è dove dovrei salvare questa proprietà'?
Se la domanda non è chiara, forniscimi un feedback: sarei felice di migliorarlo.