Gestione dei menu

Developer
Jul 5, 2010 at 11:37 AM
Edited Jul 5, 2010 at 11:41 AM

Lavorando sui menu ci è venuta in mente una possibile implementazione per i pulsanti. Sarebbe carino avere una classe Button che ha al suo interno un Rectangle che ne definisce posizione nello schermo (x, y) e dimensioni (width, height). Inoltre avrebbe una texture associata (o due, una per quando viene premuto). Il rectangle dovrebbe servire sia a disegnarlo che a intercettare i tap, quindi ogni volta che il menu intercetta un tap interroga i vari Button che ne fanno parte (MenuComponent dovrebbe avere una lista di Button) e gli chiede se la tap_position rientra in uno dei loro Rectangle. Se sì, allora lancia una funzione adeguata (cambio di stato, visualizzazione di un sottomenu, ecc...). Questo ci evita di "partizionare lo spazio" nelle schermate di menu (che al momento è comunque fatto in maniera molto semplice, cioè metà dello schermo prende Play e l'altra metà prende Exit). Inoltre i Button essendo component possono essere abilitati/disabilitati e resi visibili/invisibili.

Cosa ne pensi? Era già previsto nella prossima release?

Coordinator
Jul 6, 2010 at 11:58 AM
gperoni wrote:

Lavorando sui menu ci è venuta in mente una possibile implementazione per i pulsanti. Sarebbe carino avere una classe Button che ha al suo interno un Rectangle che ne definisce posizione nello schermo (x, y) e dimensioni (width, height). Inoltre avrebbe una texture associata (o due, una per quando viene premuto). Il rectangle dovrebbe servire sia a disegnarlo che a intercettare i tap, quindi ogni volta che il menu intercetta un tap interroga i vari Button che ne fanno parte (MenuComponent dovrebbe avere una lista di Button) e gli chiede se la tap_position rientra in uno dei loro Rectangle. Se sì, allora lancia una funzione adeguata (cambio di stato, visualizzazione di un sottomenu, ecc...). Questo ci evita di "partizionare lo spazio" nelle schermate di menu (che al momento è comunque fatto in maniera molto semplice, cioè metà dello schermo prende Play e l'altra metà prende Exit). Inoltre i Button essendo component possono essere abilitati/disabilitati e resi visibili/invisibili.

Cosa ne pensi? Era già previsto nella prossima release?

È una ottima idea. Questo tipo di considerazioni va fatto in questa release: come vedete una struttura del genere permette di aggiungere e togliere facilmente bottoni, di modificare la forma dei bottoni, etc. con molta facilitá. In questa iterazione ci occupiamo proprio di dare una struttura specifica al nostro gioco ma anche generale rispetto alle modifiche del gioco stesso nelle release successive.