05-04-2013, 11:28 AM
PHP Code:
integer animOn = TRUE; //Set to FALSE and call initAnim() again to stop the animation.
//Effect parameters: (can be put in list together, to make animation have all of said effects)
//LOOP - loops the animation
//SMOOTH - plays animation smoothly
//REVERSE - plays animation in reverse
//PING_PONG - plays animation in one direction, then cycles in the opposite direction
list effects = [SMOOTH,LOOP];
//Movement parameters (choose one):
//ROTATE - Rotates the texture
//SCALE - Scales the texture
//Set movement to 0 to slide animation in the X direction, without any special movement.
integer movement = 0;
integer face = ALL_SIDES; //Number representing the side to activate the animation on.
integer sideX = 1; //Represents how many horizontal images (frames) are contained in your texture.
integer sideY = 1; //Same as sideX, except represents vertical images (frames).
float start = 0.0; //Frame to start animation on. (0 to start at the first frame of the texture)
float length = 0.0; //Number of frames to animate, set to 0 to animate all frames.
float speed = 10.0; //Frames per second to play.
initAnim() //Call this when you want to change something in the texture animation.
{
if(animOn)
{
integer effectBits;
integer i;
for(i = 0; i < llGetListLength(effects); i++)
{
effectBits = (effectBits | llList2Integer(effects,i));
}
integer params = (effectBits|movement);
llSetTextureAnim(ANIM_ON|params,face,sideX,sideY,
start,length,speed);
}
else
{
llSetTextureAnim(0,face,sideX,sideY,
start,length,speed);
}
}
default
{
state_entry()
{
initAnim();
}
}