Difference between revisions of "Materialization Effects 2"
Jump to navigation
Jump to search
Nika Rugani (talk | contribs) (Created page with "<lsl> integer links = LINK_SET; float alpha_increment = 0.01; nrFadeAlpha(float start_point, float end_point, float speed) { start_point = nrFloatCheck(start_point); en…") |
Nika Rugani (talk | contribs) |
||
Line 65: | Line 65: | ||
touch_start(integer num) | touch_start(integer num) | ||
{ | { | ||
if(llGetAlpha(ALL_SIDES)>0.5) | if(llGetAlpha(ALL_SIDES)>0.5) | ||
{ | { |
Revision as of 12:26, 22 April 2011
<lsl> integer links = LINK_SET;
float alpha_increment = 0.01;
nrFadeAlpha(float start_point, float end_point, float speed) {
start_point = nrFloatCheck(start_point); end_point = nrFloatCheck(end_point); speed = nrFloatCheck(speed); if(start_point!=end_point) { if(start_point<end_point) { do { start_point = nrFloatCheck((start_point+speed)); llSetLinkPrimitiveParamsFast(links, [PRIM_COLOR, ALL_SIDES, llGetColor(ALL_SIDES), start_point]); }while(start_point<end_point); } else { do { start_point = nrFloatCheck((start_point-speed)); llSetLinkPrimitiveParamsFast(links, [PRIM_COLOR, ALL_SIDES, llGetColor(ALL_SIDES), start_point]); }while(start_point>end_point); } }
}
float nrFloatCheck(float src) {
if(src<=0) { return 0.0; } else if(src>=1) { return 1.0; } else { return src; }
}
float nrGetGlow() {
return (float)llList2String(llGetPrimitiveParams([PRIM_GLOW, ALL_SIDES]), 0);
} nrSetGlow(integer link_num, float glow, integer sides) {
llSetLinkPrimitiveParamsFast(link_num, [PRIM_GLOW,sides,glow]);
}
default {
on_rez(integer a) { nrSetGlow(LINK_SET, 0.1, ALL_SIDES); nrFadeAlpha(0, 1.0, alpha_increment); nrSetGlow(LINK_SET, 0.0, ALL_SIDES); } touch_start(integer num) { if(llGetAlpha(ALL_SIDES)>0.5) { nrSetGlow(LINK_SET, 0.1, ALL_SIDES); nrFadeAlpha(1.0, 0.0, alpha_increment); nrSetGlow(LINK_SET, 0.0, ALL_SIDES); } else { nrSetGlow(LINK_SET, 0.1, ALL_SIDES); nrFadeAlpha(0.0, 1.0, alpha_increment); nrSetGlow(LINK_SET, 0.0, ALL_SIDES); } }
}</lsl>