FANDOM


Scripters_cafeログ


08/12/20 編集

複数のプリムがリンクされたオブジェクトのルートプリムに入れたスクリプトから、子プリムへのタッチを検出して処理を分岐させる方法についてです。

子プリムのタッチは、ルートプリムのスクリプトでも llDetectedLinkNumber 関数を使用してタッチされた子プリムのリンク番号を取得することができます。単純にはこのリンク番号で分岐させてやれば済みます。

しかし、リンク番号をこのように決めうちで処理すると、次のような問題が出てきます。

  • オブジェクトをリンクする際に順番を合わせる必要があります
    • プリムを追加したりする場合にも、慎重にリンクする必要があります

オブジェクトの形状が複雑だったり、プリム数が多かったりすると、特定の順番でリンクするというのは大変な作業になります。


子プリムに名前を付けて名前で判定する 編集

llDetectedLinkNumber で取得したリンク番号で処理を行うのではなく、タッチされた子プリムの名前で処理を分岐させることで、リンク順の問題を回避することができます。

子プリムの名前を取得するには llGetLinkName 関数を使用します。

例えばタッチされた子プリムの名前を取得する場合は次のようにします。

touch_start( integer total_number ) {
    string name = llGetLinkName( llDetectedLinkNumber( 0 ) );
}


関連リンク:



このページのTinyURL:http://tinyurl.com/SC-deal-with-childprims

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki