FadeEasy
Jump to navigation
Jump to search
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
FadeEasy
Introduction
FadeEasy makes object fading easier for you to make an object fade in or out simply by entering a one-line code.
Example: llFade(LINK_SET, 0.0, 1.0, ALL_SIDES, 0.05);
Or llFade(LINK_SET, 1.0, 0.0, ALL_SIDES, 0.05);
Usage
Function: llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed);
integer linknumber
– Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_*
flag
float AlphaStart
– from 0.0 (clear) to 1.0 (solid), This is the starting opacity of your object
float AlphaEnd
– from 0.0 (clear) to 1.0 (solid), This is the ending opacity of your object
integer faces
- LINK_THIS, LINK_ROOT, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN
float speed
- How much opacity to gain or decrease by
Function Code
// Leave this part alone!
llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed)
{
if(AlphaStart<AlphaEnd)
{
for(;AlphaStart<AlphaEnd;)
{
AlphaStart+=speed;
llSetLinkAlpha(linknumber, AlphaStart, faces);
}
return;
}
else if(AlphaStart>AlphaEnd)
{
for(;AlphaStart>AlphaEnd;)
{
AlphaStart-=speed;
llSetLinkAlpha(linknumber, AlphaStart, faces);
}
return;
}
}
Entire Example Code
// Leave this part alone!
llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed)
{
if(AlphaStart<AlphaEnd)
{
for(;AlphaStart<AlphaEnd;)
{
AlphaStart+=speed;
llSetLinkAlpha(linknumber, AlphaStart, faces);
}
return;
}
else if(AlphaStart>AlphaEnd)
{
for(;AlphaStart>AlphaEnd;)
{
AlphaStart-=speed;
llSetLinkAlpha(linknumber, AlphaStart, faces);
}
return;
}
}
// Global Integer Varibles
integer faded;
//====
default
{
on_rez(integer params)
{
llFade(LINK_SET, 0.0,1.0,ALL_SIDES,0.05);
faded = TRUE;
}
touch_end(integer num_detected)
{
if(faded == TRUE)
{
faded = FALSE;
llFade(LINK_SET, 1.0,0.0, ALL_SIDES, 0.05);
}
}
}