Difference between revisions of "FadeEasy"

From Second Life Wiki
Jump to navigation Jump to search
m (<lsl> tag to <source>)
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL Header}}
{{LSL Header}}
'''FadeEasy'''
'''FadeEasy'''
== Introduction ==
== Introduction ==
FadeEasy makes object fading easier for you to make an object fade in or out simply by entering a one line code.
FadeEasy makes object fading easier for you to make an object fade in or out simply by entering a one line code.<br>
'''Example:''' llFade(LINK_SET, 0.0, 1.0, ALL_SIDES, 0.05); Or llFade(LINK_SET, 1.0, 0.0, ALL_SIDES, 0.05);
'''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 ==
== Usage ==
Function: llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed);
Function: llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed);<br>
integer linknumber –  Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag
integer linknumber –  Link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag<br>
float AlphaStart –  from 0.0 (clear) to 1.0 (solid), This is the starting opacity of your object
float AlphaStart –  from 0.0 (clear) to 1.0 (solid), This is the starting opacity of your object<br>
float AlphaEnd –  from 0.0 (clear) to 1.0 (solid), This is the ending opacity of your object
float AlphaEnd –  from 0.0 (clear) to 1.0 (solid), This is the ending opacity of your object<br>
integer faces - LINK_THIS, LINK_ROOT, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN
integer faces - LINK_THIS, LINK_ROOT, LINK_SET, LINK_ALL_OTHERS, LINK_ALL_CHILDREN<br>
float speed - How much opacity to gain or decrease by
float speed - How much opacity to gain or decrease by<br>




== Function Code ==
== Function Code ==
 
<source lang="lsl2">
// Leave this part alone!
// Leave this part alone!
llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed)
llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed)
Line 39: Line 40:
     }
     }
}
}
 
</source>
== Entire Example Code ==
== Entire Example Code ==
<source lang="lsl2">
// Leave this part alone!
// Leave this part alone!
llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed)
llFade(integer linknumber, float AlphaStart, float AlphaEnd, integer faces, float speed)
Line 84: Line 86:
     }
     }
}
}
</source>

Revision as of 20:17, 24 January 2015

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);
        }
    }
}