LlDetectedTouchFace/ja

From Second Life Wiki
< LlDetectedTouchFace
Revision as of 04:01, 12 April 2010 by Mako Nozaki (talk | contribs) (Undo revision 849382 by Mako Nozaki (Talk))
Jump to navigation Jump to search

要約

関数: integer llDetectedTouchFace( integer index );

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

• integer index 探知情報の番号

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

警告

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

サンプル

<lsl> 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>

関連項目

イベント

•  touch_start
•  touch
•  touch_end

関数

•  llDetectedLinkNumber
•  llDetectedTouchST
•  llDetectedTouchUV
•  llDetectedTouchPos
•  llDetectedTouchNormal
•  llDetectedTouchBinormal

記事

•  検出

特記事項

経緯

Search JIRA for related Issues

Signature

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