Difference between revisions of "User:Toady Nakamura/Two States Light"
Jump to navigation
Jump to search
m (minor) |
Kireji Haiku (talk | contribs) m (some minor improvements) |
||
Line 5: | Line 5: | ||
<lsl> | <lsl> | ||
vector color = <1.0, 1.0, 1.0>; | |||
float intensity = 1.000;// from 0.0 up to 1.0 | |||
float radius = 10.000;// from 0.0 up to 20.0 | |||
float falloff = 0.750;// from 0.0 up to 2.0 | |||
default | |||
{ | |||
on_rez(integer start_param) | |||
{ | |||
llResetScript(); | |||
} | |||
touch_start(integer num_detected) | |||
{ | |||
llSetLinkPrimitiveParamsFast(LINK_THIS, | |||
[PRIM_POINT_LIGHT, TRUE, color, intensity, radius, falloff, | |||
PRIM_FULLBRIGHT, ALL_SIDES, TRUE]); | |||
state lightOn; | |||
} | |||
} | |||
state lightOn | |||
{ | { | ||
on_rez(integer | on_rez(integer start_param) | ||
{ | { | ||
llResetScript(); | llResetScript(); | ||
} | } | ||
touch_start(integer num_detected) | |||
{ | |||
llSetLinkPrimitiveParamsFast(LINK_THIS, | |||
[PRIM_POINT_LIGHT, FALSE, color, intensity, radius, falloff, | |||
PRIM_FULLBRIGHT, ALL_SIDES, FALSE]); | |||
state default; | |||
} | |||
} | |||
</lsl> | </lsl> |
Revision as of 07:20, 13 October 2012
Using two states can sometimes be an elegant solution to on/off.
- Original framework 04-16-08 by Toady Nakamura
- Light call modified from Simon Kline's classes "Scripting from Scratch"
<lsl> vector color = <1.0, 1.0, 1.0>; float intensity = 1.000;// from 0.0 up to 1.0 float radius = 10.000;// from 0.0 up to 20.0 float falloff = 0.750;// from 0.0 up to 2.0
default {
on_rez(integer start_param) { llResetScript(); }
touch_start(integer num_detected) { llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POINT_LIGHT, TRUE, color, intensity, radius, falloff, PRIM_FULLBRIGHT, ALL_SIDES, TRUE]);
state lightOn; }
}
state lightOn {
on_rez(integer start_param) { llResetScript(); }
touch_start(integer num_detected) { llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POINT_LIGHT, FALSE, color, intensity, radius, falloff, PRIM_FULLBRIGHT, ALL_SIDES, FALSE]);
state default; }
} </lsl>