Difference between revisions of "LlSetTextureAnim"

From Second Life Wiki
Jump to navigation Jump to search
Line 64: Line 64:
|cat1=Media
|cat1=Media
|cat2=Effects
|cat2=Effects
|cat3
|cat3=Texture
|cat4
|cat4
}}
}}

Revision as of 19:15, 27 February 2007

Summary

Function: llSetTextureAnim( integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate );
0.0 Forced Delay
10.0 Energy

Animate the texture on the specified face/faces by setting the texture scale and offset

• integer mode mask of Mode flags
• integer face face number or ALL_SIDES
• integer sizex horizontal frames (ignored for ROTATE and SCALE)
• integer sizey vertical frames (ignored for ROTATE and SCALE)
• float start Start position/frame number (or radians for ROTATE)
• float length number of frames to display (or radians for ROTATE)
• float rate frames per second (must not be zero)

start supports negative indexes. If face is ALL_SIDES then the function works on all sides. Frames are numbered from left to right, top to bottom, starting at 0.
If rate is negative, has the same effect as using the REVERSE flag.

Specification

Index Positive Negative
First 0 -length
Last length - 1 -1

Indexes

  • Positive indexes count from the beginning, the first item being indexed as 0, the last as (length - 1).
  • Negative indexes count from the far end, the first item being indexed as -length, the last as -1.

Modes Description
ANIM_ON 0x1 Texture animation is on.
LOOP 0x2 Loop the texture animation.
REVERSE 0x4 Play animation in reverse direction.
PING_PONG 0x8 Play animation going forwards, then backwards.
SMOOTH 0x10 Slide in the X direction, instead of playing separate frames.
In both SCALE and ROTATE modes, causes smooth transitions.
ROTATE 0x20 Animate texture rotation.
Does not work with SCALE
SCALE 0x40 Animate the texture scale.
Does not work with ROTATE

Caveats

  • If start is out of bounds the script continues to execute without an error message.
  • The function silently fails if its face value indicates a face that does not exist.
  • You can only have one texture animation on a prim
    • Calling llSetTextureAnim more than once on a prim will reset it.
  • You cannot combine ROTATE and SCALE
  • sizex & sizey are both limited to a range of 0 to 255

Examples

See Also

Articles

•  Negative Index

Deep Notes

Signature

function void llSetTextureAnim( integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate );