llSetTextureAnim/zh-Hans

From Second Life Wiki
Jump to navigation Jump to search

Summary

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

在指定的面上播放贴图动画(缩放,移动贴图)

• integer mode 模式标志的掩码
• integer face face number or ALL_SIDES
• integer sizex 水平帧数 (ignored for ROTATE and SCALE)
• integer sizey vertical frames (ignored for ROTATE and SCALE)
• float start 开始的位置/帧的编号 (在 ROTATE 模式中是弧度)
• float length 显示的帧数目 (在 ROTATE 模式中是弧度)
• float rate 每秒的帧数 (不能为 0)

start supports negative indexes. If face is ALL_SIDES then the function works on all sides. 帧是按照从左到右,从上到下,从0开始的顺序来编号的。
如果 rate 是负数,和使用了 REVERSE 标志的效果是一样的。

Modes Description
ANIM_ON 0x01 启用贴图动画。
LOOP 0x02 循环贴图动画。
REVERSE 0x04 反向播放动画。
PING_PONG 0x08 先播放动画,然后再倒放。
SMOOTH 0x10 在 X 轴方向上平滑移动,代替播放单独的帧。
SCALEROTATE 模式中,都会平滑移动。
ROTATE 0x20 旋转贴图动画,
不要和 SCALE 一起使用。
SCALE 0x40 缩放贴图动画,
不要和 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

平滑移动一个贴图并且循环播放动画。

        llSetTextureAnim(ANIM_ON | SMOOTH | LOOP , ALL_SIDES, 1, 1, 1, 1, 1);

反向平滑移动一个贴图。

        llSetTextureAnim(ANIM_ON | SMOOTH | LOOP , ALL_SIDES, 1, 1, 1, 1, -1);

This divides a texture into 64 "cells", 8 across, and 8 down, and flips through them, left to right, top to bottom. This is useful for cell animation.

        llSetTextureAnim( ANIM_ON | LOOP, ALL_SIDES, 8, 8, 0, 64, 6.4 );

This rotates a texture counter-clockwise at 2 revolutions per second. Change the last value to -2*TWO_PI to rotate clockwise.

        llSetTextureAnim(ANIM_ON | SMOOTH | ROTATE | LOOP, ALL_SIDES,1,1,0, TWO_PI, 2*TWO_PI);

缩放一张贴图。

        llSetTextureAnim(ANIM_ON | SMOOTH | SCALE | PING_PONG | LOOP, ALL_SIDES, 1, 1, 1, 3, 2);

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