LlDetectedTouchFace/ja - Second Life Wiki

LlDetectedTouchFace/ja

From Second Life Wiki

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

関数: integer llDetectedTouchFace( integer index );

アバターがクリックした面のインデックス番号のinteger値を返します。

• integer index 探知情報の番号

index には負のインデックスを使用できません。
touch 系イベントでのみ有効です。touch されたプリムとイベントが処理されるプリムは別かもしれません。これは llDetectedLinkNumber でチェックできます。同様に、どの面が touch されたかは llDetectedTouchFace でチェックできます。

警告

  • index が正常なインデックス範囲を外れていても、スクリプトはエラー表示を出さずに処理を続けます。
  • 以下の場合は TOUCH_INVALID_FACE が返されます:
    • アバターのビューアが touch 面の検出に対応していない。
    • touch 点がプリムの表面から外れた。
    • この関数を呼び出したイベントが touch 系イベントでない。

 
default {
 
    touch_start(integer num_detected) {
        integer i;
        for (i = 0; i < num_detected; i++) {
            integer touchedFace = llDetectedTouchFace(i);      
 
            if (touchedFace == -1) {
                llWhisper(0, "お使いのビューアでは touch 面を判別できません。");
            }
            else {
                // 元の色を記憶しておく
                vector oldColor = llGetColor(touchedFace);
 
                // touch された面を白、黒と変更する。
                llSetColor(<1., 1., 1.>, touchedFace);
                llSleep(0.1);
                llSetColor(<0., 0., 0.>, touchedFace);
                llSleep(0.1);
 
                // 記憶しておいた色に戻す
                llSetColor(oldColor, touchedFace);
            } // if ...
        } // for ...
    } // touch_start
 
}
 

関連項目

ディープノート

経緯

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