Guida: Linden Scripting Language (LSL) - Lez. 3
Scritto da
TheBlackNightPanta Galaxy il 24 giu 2009
Share this post:
|
Prima di cominciare con la lezione 3, consiglio di visionare (se non l’ avete già fatto) anche le lezioni 1 e 2!
Analizziamo lo script “Hello Avatar!”
Diamo un’ occhiata al seguente codice predefinito:
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
}
Questo codice contiene 1 stato (“default”), 2 eventi (“state_entry” e “touch_start”) e 2 funzioni (“llSay” e “llSay”).
Se ci fosse stata anche una riga con i due // all’ inizio, significa che era un commento ed esso non viene letto nello script. Per esempio:
//Queste frasi con il trattino sono solo commenti e non vengono letti dagli script!
default
{
state_entry()
{
llSay(0, "Hello, Avatar!"); //Dice in chat, "Hello Avatar"
}
touch_start(integer total_number)
{
llSay(0, "Touched."); //Dice in chat "Touched"
}
}
Ora analizziamo in dettaglio il codice!
Stati
Uno stato nel LSL è una “sezione” al cui interno ci sono degli eventi. Ogni script deve avere uno stato di default, con almeno un evento. Fatto eccezione dalla stato predefinito (cioè il default), tutti gli altri stati devono avere la parola “state” seguita dal nome dello stato. Il contenuto dello stato è racchiuso da due parentesi graffe. {}
default
{
// Questo è lo stato default, il predefinito. Qui va almeno 1 evento!
}
state dancing
{
// Questo è un altro stato, oltre a quello di defaul, che si chiama "ballare"
}
Eventi
Gli eventi sono all’ interno degli stati. Con il termine “dentro” intendo dire che sono racchiusi tra la parentesi graffa aperta { e la parentesi graffia chiusa }. Quando uno stato è attivo, gli eventi all’ interno si avviano. In questo caso, c’è “state_entry” che inizia subito all’ avvio dello script e “touch_start” che inizia solo quando qualcuno clicca sopra all’ oggetto.
// Inizio codice
default
{
touch_start(integer total_number) // Questo è un evento
{
// Qua sta il contenuto di un evento.
}
}
// Fine dello stato.
Funzioni
Le funzioni stanno dentro agli eventi e sono personalizzabili. Iniziano sempre con due l (elle) minuscole, ad esempio: llSay. Se si posiziona il mouse sopra una funzione, apparirà un pop-up che ci indicherà cosa la funzione si aspetta. In caso di llSay dobbiamo mettere un numero e una stringa. Il numero è 0 e la stringa è “Hello Avatar!”, cioè il testo che dirà in chat pubblica. Ricordati che si devono separare da una virgola!
Breve schema
Un breve schema che vi ho fatto per capirci meglio…
Tutto insieme…
Ecco il nostro script!
default // Tutti gli script hanno bisogno dello stato default
//Apriamo la parentesi graffa perché qui inizia l' evento state_entry
{
state_entry() // Questo è un evento!
{
llSay(0, "Hello, Avatar!"); // Questa è una funzione!
}
// Chiudiamo la parentesi graffa perché qui finisce l' evento state_entry!
touch_start(integer total_number) // Un altro evento sempre nello stato default!
{
llSay(0, "Touched."); // Questa è una funzione!
}
// Fine dell' evento touch_start
}
/ Codice terminato
Quando lo salveremo, cliccando sul pulsante “Save”, lo script entrerà in stato di default, eseguirà l’ evento state_entry e a sua volta eseguirà la funzione llSay, che farà parlare l’ oggetto.
Bene, per oggi è tutto
Nella prossima lezione (la 4) vedremo come passare dallo stato default a un altro stato e useremo qualche nuovo evento.
Vi aspetto…
Per qualsiasi informazione o richiesta di assistenza, lasciatemi un commento in questo articolo!