Difference between revisions of "User:DoteDote Edison"
Jump to navigation
Jump to search
m |
|||
Line 5: | Line 5: | ||
Not a Wiki pro, so using this page to figure out how to format properly. | Not a Wiki pro, so using this page to figure out how to format properly. | ||
====Example Scripts for the Examples page once it's formatted:==== | |||
=====Toggle On/Off via State===== | |||
An example script showing how [[state]] changes can be a useful method to switch between two script modes, in this case, On or Off. When the script first runs, it begins in the '''default''' state and the [[state_entry]] event is executed. When a user interacts with the object by touch, the script switches to the '''on''' state. The '''on''' state executes its state_entry event, then waits for a user touch to trigger a state change back to the '''default''' state. | |||
<pre><lsl> | |||
// Toggle On-Off via State | |||
default { | |||
state_entry() { | |||
// run this code when entering the default state | |||
// displays red "OFF" as floating text above the prim | |||
llSetText("OFF", <1,0,0>, 1.0); | |||
} | |||
touch_start(integer num_detected) { | |||
// when touched, switch to state named 'on' | |||
state on; | |||
} | |||
} | |||
state on { | |||
state_entry() { | |||
// run this code when entering state 'on' | |||
// displays green "ON" as floating text above the prim | |||
llSetText("ON", <0,1,0>, 1.0); | |||
} | |||
touch_start(integer num_detected) { | |||
// when touched, switch to the default state | |||
state default; | |||
} | |||
} | |||
</lsl></pre> |
Revision as of 17:11, 30 January 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Not a Wiki pro, so using this page to figure out how to format properly.
Example Scripts for the Examples page once it's formatted:
Toggle On/Off via State
An example script showing how state changes can be a useful method to switch between two script modes, in this case, On or Off. When the script first runs, it begins in the default state and the state_entry event is executed. When a user interacts with the object by touch, the script switches to the on state. The on state executes its state_entry event, then waits for a user touch to trigger a state change back to the default state.
<lsl> // Toggle On-Off via State default { state_entry() { // run this code when entering the default state // displays red "OFF" as floating text above the prim llSetText("OFF", <1,0,0>, 1.0); } touch_start(integer num_detected) { // when touched, switch to state named 'on' state on; } } state on { state_entry() { // run this code when entering state 'on' // displays green "ON" as floating text above the prim llSetText("ON", <0,1,0>, 1.0); } touch_start(integer num_detected) { // when touched, switch to the default state state default; } } </lsl>