Ultime ore per votare al Blog Candy! Vota utilizzando il pannello a destra!
TopBottom
Prova di persona e scopri tutti i vantaggi dei casino su internet. Pagamenti veloci, rendimenti dei giochi altissimi e software sicuro. .
Caricamento Motore di Ricerca

Guida: Linden Scripting Language (LSL) - Lez. 3

Scritto da TheBlackNightPanta Galaxy il 24 giu 2009
Share this post:
Ma.gnolia DiggIt! Del.icio.us Yahoo Furl Technorati Reddit

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…

image

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 smile_regular

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!


Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog! Per maggiori informazioni sui feed, clicca qui!

Etichette: ,

0 commenti:

Posta un commento

Ti ringrazio per il tuo commento :)


Second Life
(R) and Linden Lab(TM) are trademarks or registered trademarks of Linden Research, Inc. No infringement is intended.