07-11-2012, 12:30 PM
(Questo messaggio è stato modificato l'ultima volta il: 07-11-2012, 12:31 PM da UDK95.)
Buona giornata,
Oggi parleremo degli strumenti di ripetizione, da non confondere con quelli di selezione. Essi servono a creare dei cicli, ma facciamo attenzione: come abbiamo visto nella lezione sulle funzioni, i cicli posso scatenare un crash in Udk. Ma vediamo quali sono questi cicli:
- While
- For
- Do Until
- For Each
Il funzionamento degli ultimi due sembra abbastanza intuitivo, Fino a quando e Per ogni. Ma, apparte questo, andiamo a vedere come si usano.
While
La sua sintassi è questa:
Perchè la variabile A non sarà mai maggiore di 5, poichè il valore non potrà cambiare.
E' come dire:
L' operatore ++ aggiunge la valuta di 1 al valore iniziale di una variabile, ogni volta che essa viene chiamata, quindi, al di sopra del Log, aggiungiamo:
Immaginiamo che il valore della variabile A sia 3.
Il ciclo viene chiamata, A è minore di 5 ( 3 ) , quindi stampa il Log e aggiungi 1 alla variabile A, è ancora minore, ora è 4, quindi riscrivilo, fino a quando non arriverà a 5. Quindi la frase:
Nota bene: l' Unreal Script, come tutti i linguaggi di programmazione/Script, quando "conta" non parte da 1, bensì da 0, quindi,se noi contiamo fino a 10 in questo modo:
Esso è simile a While. Ma nelle parentesi ha bisogno di una dichiarazione. Ovvero
Do Until
In italiano, sarebbe
For Each è un discorso diverso. Esegue un' istruzione per ogni oggetto, deciso da noi, presente sulla mappa, ma lo tratteremo in seguito.
Buona giornata.
Oggi parleremo degli strumenti di ripetizione, da non confondere con quelli di selezione. Essi servono a creare dei cicli, ma facciamo attenzione: come abbiamo visto nella lezione sulle funzioni, i cicli posso scatenare un crash in Udk. Ma vediamo quali sono questi cicli:
- While
- For
- Do Until
- For Each
Il funzionamento degli ultimi due sembra abbastanza intuitivo, Fino a quando e Per ogni. Ma, apparte questo, andiamo a vedere come si usano.
While
La sua sintassi è questa:
Citazione:While(A < 5) // E' sottointeso che A la valuta di A sia minore di 5Tutto questo scatenerà un Crash. Perchè?
{
`Log( " A è minore di 5 ");
}
Perchè la variabile A non sarà mai maggiore di 5, poichè il valore non potrà cambiare.
E' come dire:
Citazione:Parla con il cane fino a quando esso non ti risponde.E' ovvio che i cani non possono parlare(Come la variabile A, senza nessuna istruzione per ciò, cambi valore) Quindi parleremo con il cane all' infinito. Come ovviare a ciò? Usando l' operatore ++.
L' operatore ++ aggiunge la valuta di 1 al valore iniziale di una variabile, ogni volta che essa viene chiamata, quindi, al di sopra del Log, aggiungiamo:
Citazione:A++;Nota bene: A è il nome della variabile.
Immaginiamo che il valore della variabile A sia 3.
Il ciclo viene chiamata, A è minore di 5 ( 3 ) , quindi stampa il Log e aggiungi 1 alla variabile A, è ancora minore, ora è 4, quindi riscrivilo, fino a quando non arriverà a 5. Quindi la frase:
Citazione:A è minore di 5Verrà registrata, nel Log, due volte.
Nota bene: l' Unreal Script, come tutti i linguaggi di programmazione/Script, quando "conta" non parte da 1, bensì da 0, quindi,se noi contiamo fino a 10 in questo modo:
Citazione:1Unreal Script(e, ripetiamo: anche tutti gli altri linguaggi di programmazione/ Script) Conteranno in questo modo:
2
3
4
5
6
7
8
9
10
Citazione:0For
1
2
3
4
5
6
7
8
9
Esso è simile a While. Ma nelle parentesi ha bisogno di una dichiarazione. Ovvero
Citazione:For(Valore-Variabile;Condizioni-ripetizione;Operatore);Confusi? Vediamo il tutto usando la variabile A
Citazione:For(A=0;A < 5;A++)Le istruzioni che seguono nelle parentesi graffe dell' operatore For sono uguali a quelle del While.
Do Until
In italiano, sarebbe
Citazione:Fai, finchè.Ad esempio:
Citazione:DoVediamolo con la variabile A:
{
Mangia;
}Until(Il piatto è vuoto);
// Prestate attenzione, Until va collocato proprio li.
Citazione:DoFor Each
{
`Log( " A è minore di 5 ");
A++;
}Until(A == 5);
For Each è un discorso diverso. Esegue un' istruzione per ogni oggetto, deciso da noi, presente sulla mappa, ma lo tratteremo in seguito.
Buona giornata.