Scritto da
TheBlackNightPanta Galaxy il 17 mar 2011
Share this post:
|
View Comments
Prima di iniziare con la lezione 12, vi consiglio di leggere anche le lezioni 1, 2, 3, 4, 5, 6, 7,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.
tramite LSL.
A presto! ;)