FlightGear/Un esempio di integrazione NASAL-XML: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:


:'''Nota:''' Questo esempio è stato realizzato su di una macchina con sistema operativo [[w:Linux|Linux]] e quindi gli esempi sono fatti con notazione tipica di questo ambiente. Il FlightGear installato è la versione che viene compilata localmente e che quindi risulta aggiornata sempre alla ultima release di sviluppo. Questa versione può avere delle differenze rispetto a quella installata nelle varie distribuzioni di Linux e negli altri sistemi operativi come Windows e Mac OS. Comunque una persona con un minimo di pratica di programmazione non dovrebbe incontrare particolari problemi.
:'''Nota:''' Questo esempio è stato realizzato su di una macchina con sistema operativo [[w:Linux|Linux]] e quindi gli esempi sono fatti con notazione tipica di questo ambiente. Il FlightGear installato è la versione che viene compilata localmente e che quindi risulta aggiornata sempre alla ultima release di sviluppo. Questa versione può avere delle differenze rispetto a quella installata nelle varie distribuzioni di Linux e negli altri sistemi operativi come Windows e Mac OS. Comunque una persona con un minimo di pratica di programmazione non dovrebbe incontrare particolari problemi.
:'''Il miglio sistema operativo per lo sviluppo:''' quasi tutto l'ambiente FlightGear è inizialmente sviluppato su macchine Linux, questo non impedisce che si possa fare le stesse cose su Windows o su Mac OS, ma sicuramente è più difficile trovare pratici sistemi di sviluppo e sicuramente l'organizzazione di questi sistemi non è così pratica per lo sviluppo come lo è invece Linux. Quindi un consiglio, per chi vuole mettere le mani all'interno del codice di FlightGear, è quello di utilizzare una qualsiasi distribuzione Linux per lo sviluppo, magari sfruttando un sistema di emulazione.


=Organizzare il menu=
=Organizzare il menu=

Versione delle 14:35, 7 mar 2012

L'integrazione tra l'XML e il linguaggio di script Nasal può non essere banale ad un primo approccio da parte anche di chi ha programmato, ma sicuramente un esempio pratico può dare molte più possibilità di comprensione.
L'esempio che si inserisce in questo capitolo è relativo alla aggiunta della funzionalità di configurazione del joystick che stranamente manca in FlightGear. Questa funzionalità è richiesta dal fatto che normalmente i joystick commerciali non hanno una buona stabilità sugli assi. Normalmente i 3-4 assi dovrebbero rilasciare un valore numerico tra -1 ed 1, ma in realtà questo valore può cambiare ad esempio tra -0,7 a 0,8, non solo ma lo zero ben difficilmente è 0, spesso è un valore tra -0,2 a 0,2. Tutto questo fa si che pilotare un aereo spesso è più difficile di quanto in realtà non sia.
È utile anche poter inserire un parametro che permette di dare una risposta meno lineare, come del resto avviene nella realtà.

Nota: Questo esempio è stato realizzato su di una macchina con sistema operativo Linux e quindi gli esempi sono fatti con notazione tipica di questo ambiente. Il FlightGear installato è la versione che viene compilata localmente e che quindi risulta aggiornata sempre alla ultima release di sviluppo. Questa versione può avere delle differenze rispetto a quella installata nelle varie distribuzioni di Linux e negli altri sistemi operativi come Windows e Mac OS. Comunque una persona con un minimo di pratica di programmazione non dovrebbe incontrare particolari problemi.
Il miglio sistema operativo per lo sviluppo: quasi tutto l'ambiente FlightGear è inizialmente sviluppato su macchine Linux, questo non impedisce che si possa fare le stesse cose su Windows o su Mac OS, ma sicuramente è più difficile trovare pratici sistemi di sviluppo e sicuramente l'organizzazione di questi sistemi non è così pratica per lo sviluppo come lo è invece Linux. Quindi un consiglio, per chi vuole mettere le mani all'interno del codice di FlightGear, è quello di utilizzare una qualsiasi distribuzione Linux per lo sviluppo, magari sfruttando un sistema di emulazione.

Organizzare il menu

La costruzione della applicazione inizia realizzandone un punto di avvio per mezzo di una voce di menu gestita tramite codice XML che è il mezzo di programmazione della GUI (Graphic User Interface). Questa fase va fatta a programma spento in quanto non è possibile verificarla fin quando non si riavvia l'applicazione.

Comando di avvio dal menu principale

Il file da modificare è il menubar.xml che si trova in $FG_ROOT/fgdata/gui