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
Scritto da TheBlackNightPanta Galaxy il 17 mar 2011
Share this post:
Ma.gnolia DiggIt! Del.icio.us Yahoo Furl Technorati Reddit

Prima di iniziare con la lezione 12, vi consiglio di leggere anche le lezioni 1234567,8, 9, 10 e 11.


In questa lezione, vedremo come usare le funzioni llSetPos e llGetPos, per far muovere il nostro oggetto ogniqualvolta lo si tocchi.

Le funzioni che useremo sono tre:
  • llSetPos, per muovere l'oggetto;
  • llGetPos, per ottenere l'attuale posizione dell'oggetto;
  • llSay, per far dire qualcosa in local chat.
Il codice è il seguente:



default
{
    state_entry() //Quando avviamo lo script...
    { //Apro
        llSay(0, "Toccami per alzarmi di 1m."); //... dice in chat pubblica "Toccami per alzarmi di 1m."
    } //Chiudo 
    touch_start(integer total_number) //Quando tocchiamo l'oggetto...    { //Apro
    llSetPos(llGetPos() + <0,0,1>); //Muove l'oggetto di 1m verso l'alto dall'attuale posizione(ottenuta con llGetPos)
    } //Chiudo
}

Analizziamo le due funzioni:
  • llGetPos() - niente di complicato, ci da l'attuale posizione dell'oggetto restituendo un vettore;
  • llSetPos(llGetPos() + <0,0,1>) - muove l'oggetto dall'attuale posizione aggiungendo 1m verso l'alto. 
Un vettore di posizione ha la seguente forma: <0,0,0>, dove il primo 0 è la x, il secondo 0 è la y, e il terzo 0 è la z: . Quindi se volessimo muoverlo di 2m verso destra sull'asse dell'y, basterà sostituire il vettore <0,0,1> con <0,1,0>. Se, invece, volessimo muoverlo di 2m verso sinistra sempre sull'asse dell'y, utilizzeremo il - (meno), al posto che il + (più).

Nella prossima lezione, la 13, inizieremo a vedere come modificare le proprietà di un oggetto
tramite LSL.

A presto! ;)

blog comments powered by Disqus

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.