llGetLinkName
string llGetLinkName(integer linknum)
linknumで示されるリンクprimの名前を返す。
オブジェクトが単一primの場合、linknumに指定できる有効な値は0のみである。
オブジェクトがリンクされている場合は、ルートprimのリンクナンバーは1となり、2以降は子primである。
オブジェクトが単一primの場合、linknumに指定できる有効な値は0のみである。
オブジェクトがリンクされている場合は、ルートprimのリンクナンバーは1となり、2以降は子primである。
以下の例はリンクオブジェクトにおいて、タッチされたprimの名前を返す。
default { touch_start(integer detected){ llSay(0, "Touched prim is " + llGetLinkName(llDetectedLinkNumber(0))); } }
この関数はオブジェクト上の「ボタン」を実装する際に有用である。
タッチされたprimの「名前」に応じて処理を分岐させることでメンテナンス性の向上が見込める。
もしもタッチされたprimのリンクナンバーに応じて処理を分岐させるだけだと、オブジェクトを編集してリンクの順番が変わったときにLSLが正しく動作しなくなってしまう。
詳しい実装方法はllDetectedLinkNumberの説明を参照。
タッチされたprimの「名前」に応じて処理を分岐させることでメンテナンス性の向上が見込める。
もしもタッチされたprimのリンクナンバーに応じて処理を分岐させるだけだと、オブジェクトを編集してリンクの順番が変わったときにLSLが正しく動作しなくなってしまう。
詳しい実装方法はllDetectedLinkNumberの説明を参照。