Linden Scripting Language: differenze tra le versioni
m Bot: Standardizzo interwiki |
|||
Riga 1: | Riga 1: | ||
Il '''Linden Scripting Language''' (LSL) è un linguaggio di programmazione dedicato al metamondo [[Second Life]], realizzato dalla [[Linden Lab]]. Ha una sintassi simile a quella del [[C (linguaggio)|linguaggio C]] e permette di progettare e controllare il comportamento degli oggetti presenti nell'ambiente. È possibile inoltre grazie a tali script interfacciare il contenuto del mondo di Secondo Life con il resto della rete internet mediante email, XML-RPC, e recentemente anche via HTTP. |
Il '''Linden Scripting Language''' (LSL) è un linguaggio di programmazione dedicato al metamondo [[Second Life]], realizzato dalla [[Linden Lab]]. Ha una sintassi simile a quella del [[C (linguaggio)|linguaggio C]] e permette di progettare e controllare il comportamento degli oggetti presenti nell'ambiente. È possibile inoltre grazie a tali script interfacciare il contenuto del mondo di Secondo Life con il resto della rete internet mediante email, XML-RPC, e recentemente anche via HTTP. |
||
== Caratteristiche == |
== Caratteristiche == |
||
LSL è un [[linguaggio di scripting]] [[Linguaggio_tipizzato|fortemente tipizzato]]. Uno script consiste nella definizione finita di un insieme di funzioni, variabili, cicli. |
LSL è un [[linguaggio di scripting]] [[Linguaggio_tipizzato|fortemente tipizzato]]. Uno script consiste nella definizione finita di un insieme di funzioni, variabili, cicli. |
||
LSL aggiunge a queste funzionalità anche gli stati. Ogni stato contiene le istruzioni per gestire gli eventi che si modificano. Un oggetto muro avrà uno stato quando viene toccato, uno stato quando non lo è, ecc. |
LSL aggiunge a queste funzionalità anche gli stati. Ogni stato contiene le istruzioni per gestire gli eventi che si modificano. Un oggetto muro avrà uno stato quando viene toccato, uno stato quando non lo è, ecc. |
||
Ci sono più di 300 librerie di funzioni disponibili. I programmatori possono definire anche funzioni prorpie.<br> |
|||
Uno script LSL è complilato in bytecode, per essere poi eseguito su uno dei server della Linden Lab. |
Ci sono più di 300 librerie di funzioni disponibili. I programmatori possono definire anche funzioni proprie. Uno script LSL è complilato in bytecode, per essere poi eseguito su uno dei server della Linden Lab. Il pacchetto base di LSL gestisce [[Numero intero|interi]], [[Numero in virgola mobile|numeri in virgola mobile]], [[stringa (informatica)|stringhe]] e [[array|vettori]], anche eterogenei. |
||
Il pacchetto base di LSL comprende [[intero|interi]], [[float|numeri in virgola mobile]], [[stringa|stringhe]], [[vettore|vettori]] e rotazioni. Ci sono anche vettori eterogenei, e non ci sono array nè funzioni built-in.<br> |
|||
D'altro canto, gli script di continuare a circolare anche quando un utente non è connesso, e se un oggetto è stato salvato (presa in inventario), e poi re-introdotto nel mondo in seguito, si mantiene ancora il suo stato precedente.<br> |
|||
== Hello, world in LSL == |
== Hello, world in LSL == |
||
Ecco un esempio di script che saluta il tuo avatar: |
Ecco un esempio di script che saluta il tuo avatar: |
Versione delle 18:03, 25 lug 2009
Il Linden Scripting Language (LSL) è un linguaggio di programmazione dedicato al metamondo Second Life, realizzato dalla Linden Lab. Ha una sintassi simile a quella del linguaggio C e permette di progettare e controllare il comportamento degli oggetti presenti nell'ambiente. È possibile inoltre grazie a tali script interfacciare il contenuto del mondo di Secondo Life con il resto della rete internet mediante email, XML-RPC, e recentemente anche via HTTP.
Caratteristiche
LSL è un linguaggio di scripting fortemente tipizzato. Uno script consiste nella definizione finita di un insieme di funzioni, variabili, cicli. LSL aggiunge a queste funzionalità anche gli stati. Ogni stato contiene le istruzioni per gestire gli eventi che si modificano. Un oggetto muro avrà uno stato quando viene toccato, uno stato quando non lo è, ecc.
Ci sono più di 300 librerie di funzioni disponibili. I programmatori possono definire anche funzioni proprie. Uno script LSL è complilato in bytecode, per essere poi eseguito su uno dei server della Linden Lab. Il pacchetto base di LSL gestisce interi, numeri in virgola mobile, stringhe e vettori, anche eterogenei.
Hello, world in LSL
Ecco un esempio di script che saluta il tuo avatar:
default { state_entry() { llSay(0, "Hello, Avatar!"); } touch(integer total_number) { llSay(0, "Touched."); } }
Si può vedere il metodo touch che indica allo script cosa fare quando l'oggetto viene toccato.
Anbiente di sviluppo (IDE)
Su Seconf Life è stato messo a disposizione di chiunque volesse crearsi un proprio script un IDE particolare.
Si tratta di una specie di programma per modellazione 3D, dove si può anche modificare il codice.
Il futuro di LSL
Una nuova release del linguaggio era stata annunciata nel 2006, ma è stata posticipata a tempo indefinito. La Linden Lab sta ancora sviluppando il linguaggio, come evidenziato da una dimostrazione fatta alla Microsoft.
Il nuovo interprete usa mono (la versione open source del framework .NET della Microsoft), in quanto macchina virtuale per l'esecuzione degli script sui server.
Il linguaggio rimane lo stesso, ma l'esecuzione su mono aumenta di molto la velocità di esecuzione.
Collegamenti Esterni
- LSL forum Forum di LSL
- LSL Wiki Una community per supportare la documentazione di LSL
- LSL Portal Un nuovo wiki hostato da SecondLife
- Mono for Second Life Informazioni sul passaggio a mono come virtual machine
- Linden Scripting Language Problems Critiche al linguaggo da Xah Lee