Difference between revisions of "LlSetLinkTexture/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
m (Undo revision 850902 by Mako Nozaki (Talk))
Line 32: Line 32:
|notes
|notes
|deprecated
|deprecated
|cat1=Texture/ja
|cat1=Texture
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Revision as of 03:19, 12 April 2010

要約

関数: llSetLinkTexture( integer linknumber, string texture, integer face );

linknumberで連結しているリンクにタスクが存在する場合、facetextureを設定します。

• integer linknumber リンク 番号 (0: リンクなし, 1: ルートプリム, >1: 子プリム) または LINK_* フラグ
• string texture プリムの インベントリ の中にあるtextureまたは UUID
• integer face 番号もしくは ALL_SIDES

faceALL_SIDES であれば関数は全ての面に作用します。

フラグ 説明
LINK_ROOT 1 リンクセットの中のルートプリムに送ります
LINK_SET -1 全プリムに送ります
LINK_ALL_OTHERS -2 自分以外の全プリムに送ります
フラグ 説明
LINK_ALL_CHILDREN -3 (ルートプリム以外の全ての)子プリムに送ります
LINK_THIS -4 スクリプトの入った自プリムに送ります

警告

  • この関数は 0.2 秒間、スクリプトを停止します。
  • texture がプリムの中で見つからない場合、かつこれが UUID でない場合、またはこれがtextureでない場合、エラーが DEBUG_CHANNEL 上で叫ばれます。
  • textureUUID である場合、オブジェクト自体に新たな アセット権限 が発生するようなことはありません。
    • アセットをプリムのインベントリの中に置いた場合、これまで発生していた使用制限は新しいオブジェクトで新たに作成されません。
  • face が存在しない面を指している場合、関数はエラーを出さずに復帰します。

サンプル

(ライブラリから)褐色にリンクセットを覆います。 <lsl> default {

   touch_start(integer detected)
   {
       llSetLinkTexture(LINK_SET, "66bf4030-04f9-a808-43ab-b48b6aeb6456", ALL_SIDES);
   }

}

</lsl>

注意点

リンク番号

オブジェクトを構成するそれぞれのプリムにはアドレスがあります。それがリンク番号です。オブジェクトの特定のプリムにアクセスするには、そのプリムのリンク番号を知らなければなりません。リンク番号はプリムに振られますが、オブジェクトに座っているアバターにも振られます。

  • オブジェクトが単一のプリムで構成されていて、アバターが座っていないとき、(ルート)プリムのリンク番号は 0 です。
  • しかし、オブジェクトが複数のプリムで構成されていたり、オブジェクトに座っているアバターがいたりすると、ルートプリムのリンク番号は 1 となります。

アバターがオブジェクトに座ると、リンクセットの末尾に追加され、いちばん大きなリンク番号が振られることになります。さらに、アバターがオブジェクトに座っている場合、アバターを立たせないと、プリムのリンク・リンク解除ができません。

プリムやアバターの数え方

オブジェクトのプリムや、プリムに座っているアバターの数を調べるのに、2つの関数があります。

  • llGetNumberOfPrims() - プリムと座っているアバターの数を返します。
  • llGetObjectPrimCount(llGetKey()) - オブジェクトのプリムの数だけを返しますが、アタッチメントとなっている場合は 0 を返します。
integer GetPrimCount() { //常にプリムの数だけを返します。
    if(llGetAttached())//装着されているか?
        return llGetNumberOfPrims();//アバターとプリムの数を返しますが、アタッチメントの上には座れないのでこれでいいです。
    return llGetObjectPrimCount(llGetKey());//プリムの数だけを返しますが、アタッチメントの場合ここは通りません。
}

関連項目

関数

•  llGetLinkNumber スクリプトが入っているプリムのリンク番号を取得します。
•  llSetLinkAlpha
•  llSetLinkColor
•  llSetLinkPrimitiveParams

特記事項

Search JIRA for related Issues

Signature

function void llSetLinkTexture( integer linknumber, string texture, integer face );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。