Argomenti di questa pagina :
Finestra Logic Editor – Column ed Object heading – Opzioni comuni
Introduzione
La parte principale della logica del gioco può essere impostata attraverso l’interfaccia grafica Logic Editor, e quindi non richiede nessuna conoscenza dettagliata di programmazione. La logica è creata attraverso i Blocchi o Mattoni (Logic Bricks), che rappresentano le funzioni preprogrammate; questi possono essere modificati nelle loro opzioni e combinati tra di loro per creare il gioco/applicazione. Ci sono tre tipi di Mattoni Logici : Sensori, Controllori e Attuatori. I Sensori sono listener (ascoltatori, nel senso che aspettano) di eventi, che sono attivati da eventi specifici, come ad esempio una collisione, un tasto o un movimento del mouse. Quando un Sensore è positivo (avviene l’evento) invia un impulso al Controllore che valuta la condizione e se è il caso innesca l’Attuatore, ma solo quando sono soddisfatte le condizioni operative. Gli Attuatori interagiscono con la simulazione direttamente e sono gli unici componenti in gioco che sono in grado di farlo (oltre al Controllore Python, e altri componenti di simulazione come quelli Fisici). Un esempio veloce : quando il giocatore preme un tasto il Sensore Keyboard manda un segnale positivo al Controllore collegato che a sua volta manda l’ok all’Attuatore di movimento che fa muovere il personaggio del gioco. Verranno inseriti una serie di tutorial che tratteranno ogni singolo Mattone con degli esempi sul loro uso.
Finestra Logic Editor
Come hai visto nella pagine Interfaccia Game Logic, il Logic Editor si trova in basso ed è suddiviso in due parti, l’icona della finestra è un joystick e non ha molte opzioni nella barra del menù (figura seguente, cliccala per ingrandirla).
Per ora puoi chiudere il pannello Properties posizionando il puntatore del mouse nella finestra in questione e premendo il tasto N. Come puoi notare in questo momento non c’è nessun Mattoncino ma ci sono in alto alla finestra delle opzioni che sono uguali per le tre categorie di Mattoni, si chiamano Column Heading (colonna intestazione) e Object Heading (colonna oggetto), vediamole in dettaglio.
Column Heading ed Object Heading
Column Heading (colonna intestazione) è quella superiore e serve a mostrare/nascondere e filtrare i Blocchi in modo da semplificare la vista quando si hanno più oggetti selezionati con parecchi Mattoni aggiunti (figura seguente).
Nel menù a tendina (figura sotto) vi sono quattro voci, le prime due servono a mostrare/nascondere gli oggetti a cui sono inseriti i Mattoni; le seconde due a mostrare/nascondere i Blocchi (in realtà i Mattoni non si nascondono e mostrano, ma si collassano).
I check box con le spunte, affianco al menù a tendina, servono anche essi a mostrare e nascondere i Mattoncini ma in questo modo :
- Sel mostra/nascondi tutti i Sensors per l’oggetto selezionato.
- Act mostra/nascondi solo Sensors appartenenti all’oggetto attivo.
- Link mostra/nascondi Sensors che hanno un collegamento a un controller.
- State mostra/nascondi solo Sensors collegati allo State attivo.
Mentre la Object Heading (colonna oggetto) ha solo due campi, il primo indica il nome dell’oggetto selezionato e cliccandoci sopra si nascondono/mostrano i Mattoni, come le prime opzioni del menù a tendina della Column Heading.
La seconda opzione è un menù a tendina che mostra tutti i Mattoni e da dove è possibile scegliere quale inserire.
Ho volutamente usato il termine Mattoni o Blocchi perchè tali opzioni si trovano nelle tre colonne dei Logic Bricks, l’unica differenza è che nella colonna dei Controllori non c’è il check box State, e naturalmente cambiano i nomi a seconda della tipologia di Mattoni.
Opzioni comuni
Ogni Mattone ha delle opzioni specifiche del Blocco in questione, opzioni che si possono cambiare a seconda delle nostre esigenze. Ma hanno anche delle opzioni in comune sopratutto i Sensori e gli Attuatori, iniziamo a vedere queste :
Nell’immagine sopra ho inserito due Mattoni (un Sensore Joystick e un Attuatore Camera) e ho evidenziato le opzioni che hanno in comune, queste opzioni sono comuni per tutti i Sensori e gli Attuatori.
Nel dettaglio da sinistra :
- La freccia bianca serve a collassare il Mattone in una singola linea, resterà infatti in evidenza proprio questa prima linea, che ci aiuta a capire al volo che ruolo ha il Blocco nella nostra logica.
- A seguire il tipo di Mattone, che si può cambiare dal menù a tendina.
- Poi c’è un campo di testo dove inserire un nome da noi scelto (se si vuole), è consigliato inserirlo e scegliere un nome che ci ricordi a cosa serve il Mattone in questione, da evitare nomi troppo lunghi o che non siano attinenti alla logica creata.
- La puntina serve a tenere il Blocco visibile anche se non è collegato ad un Controllore visibile o che si trova in un’altro State.
- Il checkbox attiva e disattiva il Blocco.
- La X lo cancella.
- Tutti i Mattoni una volta collassati (ridotti a una riga per risparmiare spazio mentre si lavora) hanno due frecce a destra della puntina del pin, una verso l’alto e una verso il basso, serve a spostare il Mattone in giù e in su nella lista. E’ buona pratica tenere i Mattoni (Sensor–Controller–Actuator) sempre in linea, quindi se si sposta un Sensor si deve spostare anche gli altri Mattoni collegati (è un consiglio, potete anche non seguirlo).
Nota. Per le opzioni specifiche dei Sensori e dei Controllori, basta cliccare sui link delle pagine specifiche (o su quelli in questa pagina).