Difference between revisions of "State/pl"

From Second Life Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
W języku skryptowym LSL wiekszosc skryptow jest niekatywna dopuki nie zostana im dostarczone jakies dane tudziez nastapi wykrycie jakiejs zmiany w otoczeniu. W kazdym momencie skrypt jest w jakims stanie i bedzie reagowac na zdarzenia lub dane w zaleznosci od wizji programisty. Jednakze skrypt moze zawierac dwa lub wiecej stanow i reagowac roznie na zdaarzenia oraz dane w zaleznosci od stanu w jakim w danym momencie sie znajduje.
== Opis ==


Stanem podstawowym jest stan default. Podczas kompilacji skryptu, zresetowania czy tez zaladowania stan ten wywolywany jest domyslnie. Po wywolaniu stanu domyslnego w skrypcie moga znajdowac sie instrukcje wywalujace pozostale stany, ktore maja rozne sniezki wykonywania roznych zdarzen.
W języku skryptowym LSL większość skryptów jest nieaktywna dopóki nie zostaną im dostarczone jakieś dane tudzież nastąpi wykrycie jakiejś zmiany w otoczeniu. W każdym momencie skrypt jest w jakimś stanie i będzie reagować na zdarzenia lub dane w zależności od wizji programisty. Jednakże skrypt możne zawierać dwa lub więcej stanów i reagować rożnie na zdarzenia oraz dane w zależności od stanu w jakim w danym momencie się znajduje.


'''''state target { events }'''''
Stanem podstawowym jest stan default. Podczas kompilacji skryptu, zresetowania czy tez załadowania stan ten wywoływany jest domyślnie. Po wywołaniu stanu domyślnego w skrypcie mogą znajdować się instrukcje wywołujące pozostałe stany, które maja rożne ścieżki wykonywania różnych zdarzeń.
• label  target  –  nazwa stanu
• event  events  –  jedno lub wiecej [[Category:LSL_Events/pl]] 


Przykladowa definicja stanu ''target''
Zdarzenie domyślne.
<lsl> state default </lsl>
Zdarzenie docelowe.
<lsl> state target </lsl>
 
 
State ma także zdefiniowane zdarzenia, które mogą zostać wywołane.
Jest to stan wyjścia.
<lsl> state_exit </lsl>
Jest wywoływane po:
*Po opuszczeniu zdarzenia.
Jest to stan wejścia.
<lsl> state_entry </lsl>
Jest wywoływane po:
*Po stworzeniu skryptu w obiekcie.
*Kiedy zapisujemy skrypt.
*Przy zresetowaniu skryptu.
 
 
== Przykład ==
Prosty przykład użycia dwóch stanów. Pierwszy default zmienia kolor obiektu na biały, natomiast drugi zwany State off zmienia kolor na czarny. Zdarzenia są wywoływane, gdy obiekt zostanie naciśnięty.
<lsl>
default // początkowy stan default
{
    state_entry()
    {
        llSetColor(<1.0, 1.0, 1.0>, ALL_SIDES); // Zmień kolor obiektu na biały
    }
    touch_start(integer total_number) // Po naciśnięciu na obiekt
    {
        state off; // Idź do stanu off
    }
}
state off // Drugi stan zwany off
{
    state_entry()
    {
        llSetColor(<0.0, 0.0, 0.0>, ALL_SIDES); // Zmiana koloru obiektu na czarny
    }
    touch_start(integer total_number) // Po ponownym kliknięciu wróć do stanu default
    {
        state default;
    }
}
</lsl>

Latest revision as of 13:43, 8 May 2012

Opis

W języku skryptowym LSL większość skryptów jest nieaktywna dopóki nie zostaną im dostarczone jakieś dane tudzież nastąpi wykrycie jakiejś zmiany w otoczeniu. W każdym momencie skrypt jest w jakimś stanie i będzie reagować na zdarzenia lub dane w zależności od wizji programisty. Jednakże skrypt możne zawierać dwa lub więcej stanów i reagować rożnie na zdarzenia oraz dane w zależności od stanu w jakim w danym momencie się znajduje.

Stanem podstawowym jest stan default. Podczas kompilacji skryptu, zresetowania czy tez załadowania stan ten wywoływany jest domyślnie. Po wywołaniu stanu domyślnego w skrypcie mogą znajdować się instrukcje wywołujące pozostałe stany, które maja rożne ścieżki wykonywania różnych zdarzeń.

Zdarzenie domyślne. <lsl> state default </lsl> Zdarzenie docelowe. <lsl> state target </lsl>


State ma także zdefiniowane zdarzenia, które mogą zostać wywołane. Jest to stan wyjścia. <lsl> state_exit </lsl> Jest wywoływane po:

  • Po opuszczeniu zdarzenia.

Jest to stan wejścia. <lsl> state_entry </lsl> Jest wywoływane po:

  • Po stworzeniu skryptu w obiekcie.
  • Kiedy zapisujemy skrypt.
  • Przy zresetowaniu skryptu.


Przykład

Prosty przykład użycia dwóch stanów. Pierwszy default zmienia kolor obiektu na biały, natomiast drugi zwany State off zmienia kolor na czarny. Zdarzenia są wywoływane, gdy obiekt zostanie naciśnięty.

<lsl>

default // początkowy stan default {

   state_entry()
   {
       llSetColor(<1.0, 1.0, 1.0>, ALL_SIDES); // Zmień kolor obiektu na biały
   }

   touch_start(integer total_number) // Po naciśnięciu na obiekt
   {
       state off; // Idź do stanu off
   }

} state off // Drugi stan zwany off {

   state_entry()
   {
       llSetColor(<0.0, 0.0, 0.0>, ALL_SIDES); // Zmiana koloru obiektu na czarny
   }

   touch_start(integer total_number) // Po ponownym kliknięciu wróć do stanu default
   {
       state default; 
   }

}

</lsl>