Uso delle variabili

 

 

 

 

A volte si rende molto utile avvalersi dell'uso delle variabili. Prendiamo come esempio per capire meglio il loro funzionamento quello di voler ripetere una certa azione per un certo numero di volte. Immagginiamo di voler incrementare l'Altitudine di 5 posizioni e poichè ad ogni posizione si ha una variazione di 100ft se partiamo da 5000ft dopo questa azione dovremmo arrivare a 5500ft. Una soluzione potrebbe essere quella di ripetere l'azione scrivendo di seguito 5 Azioni "Send_AS1000_AP_ALT_inc_100_Event" cosi:

 

 

Scusate manca un evento.

 

E' indispensabile lasciare una pausa di almeno 100 ms tra un'azione e l'altra altrimenti ne esegue di meno. Ma è un metodo molto grezzo, pensate se dovessi fare 300 ripetizioni dovrei scrivere una bibbia.

 

Altrimenti si usano le variabili. Per iniziare bisogna crearne una.

Selezionare il bottone interessato, aggiungere un'evento tipo Button pressed e in "Add Action" cliccare "Change Data value"

 

Nella finestra che si apre in basso cliccare su "New Local Variable"

 

Compilare così e premere "Create":

 

Si aprirà questo riquadro:

 

 

Ora passiamo ad aggiungere un evento "Button Held" quindi "Add Event/Send_Simulation_Event" e scegliamo "Send_AS1000_AP_ALT_inc_100_Event". Aggiungiamo un'altro evento ma stavolta cliccando su "Change Data value" nella schermata che segue nella casella Cerca cerchiamo "PROFILE" compariranno tutte le variabili che hai creato, scegliere MIO_COUNTER":

 

Cliccandolo comparirà:

 

 

Impostare Operation a "Increment" e a value 1 poi OK. Avremo la seguente situazione:

 

Ora bisognerà aggiungere una condizione, premere "Add Condition" e scegliere PROFILE:MIO_COUNTER"

 

Impostare come sopra ed avremo:

 

 

Ecco il risultato finale:

 

 

Allora cosa fa questo script? Quando premiamo il pulsante mi viene creata la variabile "MIO_Counter" e viene impostata a zero. Dopo di chè se la variabile ha un valore inferiore a 5, ed in questo caso essendo ancora = 0 è inferiore a 5, invio l'azione (incremento di 100ft l'Altitudine") e poi passo ad incrementare la variabile che verrà portata a 1. dopo 100 ms si ripetono le azioni ossia invio ed incremento. Il ciclo continua fino a quando la variabile sarà minore di 5. Dopo aver inviato 5 volte l'incremento di 100ft al prossimo giro si uscirà dal loop. Non essendo più vera la condizione cioé la variabile ora è = 5 qundi non è più minore di 5 e quindi le ripetizioni terminano. La prossima volta che premeremo di nuovo il pulsante il "Button Pressed" penserà ad azzerare la variabile in modo che il ciclo possa ripetersi.

Se si volesse far eseguire solo una volta questo ciclo, ovvero spingendo la prima volta il pulsante il ciclo avverà ma se si tenta di spingere il pulsante per la seconda volta questo non funzionerà più. In questo caso bisognerà nel "Button Pressed" aggiungere una condizione del tipo:

 

 

Il che vuol dire che la seconda volta che premo il pulsante la variabile avrà un valore pari a 5, impostato dalla prima pressione del pulsante, la condizione non sarà vera in quanto la variabile non sarà inferiore a 5 per cui l'azione che segue non verrà eseguita.