Difference between revisions of "LlSetTextureAnim/zh-Hans"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Multi-lang|LlSetTextureAnim}}
{{LSL_Function/negative index/zh-Hans|true|start}} {{#vardefine:spec|}}{{LSL_Function/face/zh-Hans|face}}
 
{{LSL_Function/zh-Hans
{{LSL_Function/negative index|true|start}}{{#vardefine:spec|}}{{LSL_Function/face|face}}{{LSL_Function
|func_id=211
|func_id=211
|func_sleep=0.0
|func_sleep=0.0
Line 7: Line 6:
|sort=SetTextureAnim
|sort=SetTextureAnim
|func=llSetTextureAnim
|func=llSetTextureAnim
|p1_type=integer|p1_name=mode|p1_desc=mask of Mode flags
|p1_type=integer|p1_name=mode|p1_desc=模式标志的掩码
|p2_type=integer|p2_name=face
|p2_type=integer|p2_name=face
|p3_type=integer|p3_name=sizex|p3_desc=horizontal frames (ignored for [[ROTATE]] and [[SCALE]])
|p3_type=integer|p3_name=sizex|p3_desc=水平帧数 ([[ROTATE]] [[SCALE]] 模式中忽略该参数)
|p4_type=integer|p4_name=sizey|p4_desc=vertical frames (ignored for [[ROTATE]] and [[SCALE]])
|p4_type=integer|p4_name=sizey|p4_desc=垂直帧数 ([[ROTATE]] [[SCALE]] 模式中忽略该参数)
|p5_type=float|p5_name=start|p5_desc=Start position/frame number (or radians for [[ROTATE]])
|p5_type=float|p5_name=start|p5_desc=开始的位置/帧的编号 ([[ROTATE]] 模式中是弧度)
|p6_type=float|p6_name=length|p6_desc=number of frames to display (or radians for [[ROTATE]])
|p6_type=float|p6_name=length|p6_desc=显示的帧数目 ([[ROTATE]] 模式中是弧度)
|p7_type=float|p7_name=rate|p7_desc=frames per second (must not be zero)
|p7_type=float|p7_name=rate|p7_desc=每秒的帧数 (不能为 0)
|func_footnote=Frames are numbered from left to right, top to bottom, starting at 0.<br/>If '''rate''' is negative, has the same effect as using the [[REVERSE]] flag.
|func_footnote=帧是按照从左到右,从上到下,从0开始的顺序来编号的。<br>如果 '''rate''' 是负数,和使用了 [[REVERSE]] 标志的效果是一样的。
|func_desc=Animate the texture on the specified face/faces by setting the texture scale and offset
|func_desc=在指定的面上播放贴图动画(缩放,移动贴图)
|return_text
|return_text
|spec
|spec
|caveats=*You can only have one texture animation on a prim
|caveats=*在一个 prim 上只能播放一个贴图动画。
**Calling llSetTextureAnim more than once on a prim will reset it.
**如果在一个 prim 播放多个动画,就会重置它。
*You cannot combine ROTATE and SCALE
*不能同时使用 ROTATE SCALE 模式。
*'''sizex''' & '''sizey''' are both limited to a range of 0 to 255
*'''sizex''' & '''sizey''' 被限制在 0 255 的范围内。
|constants={{{!}} class="sortable collapsible" {{Prettytable}}
|constants={{{!}} class="sortable collapsible" {{Prettytable}}
{{!}}-{{Hl2}}
{{!}}-{{Hl2}}
! Modes
! 模式
! title="Value" {{!}}
! title="数值" {{!}}
! class="unsortable" {{!}} Description
! class="unsortable" {{!}} 描述
{{!}}-
{{!}}-
{{!}}[[ANIM_ON]]
{{!}}[[ANIM_ON]]
Line 67: Line 66:
</pre>
</pre>


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.
把一个贴图分隔成 64 "单元格", 8 格,竖 8 格,然后按照从左到右,从上到下的顺序交换,这个就是单元格动画。
<pre>
<pre>
         llSetTextureAnim( ANIM_ON | LOOP, ALL_SIDES, 8, 8, 0, 64, 6.4 );
         llSetTextureAnim( ANIM_ON | LOOP, ALL_SIDES, 8, 8, 0, 64, 6.4 );
Line 77: Line 76:
</pre>
</pre>


This scales a texture larger and smaller.
缩放一张贴图。
<pre>
<pre>
         llSetTextureAnim(ANIM_ON | SMOOTH | SCALE | PING_PONG | LOOP, ALL_SIDES, 1, 1, 1, 3, 2);
         llSetTextureAnim(ANIM_ON | SMOOTH | SCALE | PING_PONG | LOOP, ALL_SIDES, 1, 1, 1, 3, 2);
Line 88: Line 87:
|permission
|permission
|negative_index
|negative_index
|cat1=Media
|cat1=Media/zh-Hans
|cat2=Effects
|cat2=Effects/zh-Hans
|cat3=Texture
|cat3=Texture/zh-Hans
|cat4=Video
|cat4=Video/zh-Hans
}}
}}

Latest revision as of 14:04, 26 July 2008

Template:LSL Function/negative index/zh-Hans Template:LSL Function/face/zh-Hans

描述

函数: llSetTextureAnim( integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate );
211 函数 ID
0.0 延迟
10.0 能量

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

• integer mode 模式标志的掩码
• integer face
• integer sizex 水平帧数 (在 ROTATESCALE 模式中忽略该参数)
• integer sizey 垂直帧数 (在 ROTATESCALE 模式中忽略该参数)
• float start 开始的位置/帧的编号 (在 ROTATE 模式中是弧度)
• float length 显示的帧数目 (在 ROTATE 模式中是弧度)
• float rate 每秒的帧数 (不能为 0)


帧是按照从左到右,从上到下,从0开始的顺序来编号的。
如果 rate 是负数,和使用了 REVERSE 标志的效果是一样的。

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

注意事项

  • 在一个 prim 上只能播放一个贴图动画。
    • 如果在一个 prim 播放多个动画,就会重置它。
  • 不能同时使用 ROTATE 和 SCALE 模式。
  • sizex & sizey 被限制在 0 到 255 的范围内。

示例

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

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

反向平滑移动一个贴图。

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

把一个贴图分隔成 64 "单元格", 横 8 格,竖 8 格,然后按照从左到右,从上到下的顺序交换,这个就是单元格动画。

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