LlSetTextureAnim/ja - Second Life Wiki

LlSetTextureAnim/ja

From Second Life Wiki

メインページ > LlSetTextureAnim > LlSetTextureAnim/ja
Jump to: navigation, search

関数: llSetTextureAnim( integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate );

指定されたテクスチャの寸法とオフセットの設定で、面(複数面)上のテクスチャを動かします。

• integer mode モードフラグのマスク
• integer face の番号あるいはALL_SIDES
• integer sizex 横フレーム(ROTATESCALEでは無効です)
• integer sizey 縦フレーム(ROTATESCALEでは無効です)
• float start 開始位置(フレーム)番号(またはROTATEの角度)
• float length 表示するフレーム数(またはROTATEの角度)
• float rate 毎秒のフレーム数(0にすべきではありません)

start には負のインデックスを使用できます。
もしfaceの値がALL_SIDESなら、関数は全側面に作用します。
フレームは0から始まって、左から右、上から下に数えられます。
rateがマイナス域の場合、REVERSEフラグを使っているのと同じ効果があります。

モード 解説
ANIM_ON 0x01 テクスチャアニメーションはオンです。
LOOP 0x02 テクスチャアニメーションをループします。
REVERSE 0x04 逆方向でアニメーションを再生します。
PING_PONG 0x08 後ろから前にアニメーションを再生します。
SMOOTH 0x10 フレーム分割再生の変わりに、X方向にずらします。
SCALEROTATEの両方のモードで滑らかな変化を起こします。
ROTATE 0x20 テクスチャの回転アニメーション。
SCALEと同時には動作しません。
SCALE 0x40 テクスチャの寸法アニメーション。
SCALEと同時には動作しません。

警告

  • start が正常なインデックス範囲を外れていても、スクリプトはエラー表示を出さずに処理を続けます。
  • 関数はfaceの値が示す面が存在しない場合、 エラーを返しません
  • 1プリム上で1つのテクスチャアニメーションのみできます。
    • プリム上で一度以上llSetTextureAnimを呼び出すのはリセットになります。
  • ROTATEとSCALEをあわせることはできません。
  • sizexsizeyは両方とも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);
 

横8縦8の64セルにテクスチャを分割し、左から右、上から下に通して反転させます。セルアニメーションで使い勝手がいいです。

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

これは毎秒2回、半時計周りにテクスチャを回転します。最後の値は-2*TWO_PIの時計周り回転に変わります。

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

関連項目

この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。