Vector/pl
< Vector
Jump to navigation
Jump to search
Revision as of 09:33, 30 April 2012 by Xintar Citron (talk | contribs)
LSL Portal | | | Funkcje | | | Zdarzenia | | | Typy | | | Stałe | | | Potoki | | | Biblioteka Skryptów | | | Tutoriale |
Vector
Vector (wektor) jest typem danych, który zawiera uporządkowany zbiór trzech wartości typu rzeczywistego. Każdy element tego zbioru może być adresowany oddzielnie, poprzez dodanie przyrostka .x, .y lub .z do nazwy zmiennej.
Wektory mogą być użyte do przechowania następujących wartości:
- Pozycji: x, y i z są wyrażone w metrach.
- Prędkość: x, y i z przedstawiają składowe prędkości.
- kolor: Czerwony to x, Zielony to y, a Niebieski to z.
Na wektorach można wykonywać następujące działania:
- Dodawanie, operator "+"
- Odejmowanie, operator "-"
- Mnożenie (iloczyn skalarny), operator "*"
- Iloczyn kartezjański, operator "%"
Żeby obrócić wektor, można go pomnożyć lub podzielić przez kwaternion.
Przykład
<lsl> default {
touch_start(integer num) { vector test=<1.0, 2.0, 3.0>;
llOwnerSay((string)test.z); // Wypisuje 3.0 llOwnerSay((string)test.y); // Wypisuje 2.0 llOwnerSay((string)test.x); // Wypisuje 1.0
}
} </lsl>
Przykład drugi
<lsl> vector minusvector=<0,0,0.2>; vector plusvector=<0,0,0.2>; default {
touch_start(integer num_detected) //Gdy nacisnie na obiekt { llSetPos(llGetPos() + plusvector); // To zbierz pozycje i dodaj wektor } touch_end(integer num_detect) //Gdy puszcze obiekt { llSetPos(llGetPos() - minusvector); // To zbierz nowa pozycje i odejmij wektor
} } </lsl>