Difference between revisions of "LlDetectedTouchUV/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
m (Undo revision 849422 by Mako Nozaki (Talk))
Line 61: Line 61:
|history=*Introduced in {{SVN|870|rev=92872|trunk=*|anchor=file14|date=Wednesday, 23 July 2008}}.
|history=*Introduced in {{SVN|870|rev=92872|trunk=*|anchor=file14|date=Wednesday, 23 July 2008}}.
*Server support available in Second Life Server 1.24.7.98039, client support in Release Candidate viewer 1.21.4 (98167).
*Server support available in Second Life Server 1.24.7.98039, client support in Release Candidate viewer 1.21.4 (98167).
|cat1=Touch/ja
|cat1=Touch
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Revision as of 03:01, 12 April 2010

要約

関数: vector llDetectedTouchUV( integer index );

touch された点の、テクスチャ上の座標を vector で返します。

• integer index 探知情報の番号

index には 負のインデックス を使用できません。 touch 系イベントでのみ有効です。touch されたプリムとイベントが処理されるプリムは別かもしれません。これは llDetectedLinkNumber でチェックできます。同様に、どの面が touch されたかは llDetectedTouchFace でチェックできます。
x, y 座標はそれぞれ u, v 座標に対応します (<u, v, 0.0>)。
UV 座標を取得できなかった場合は TOUCH_INVALID_TEXCOORD が返されます。詳細は 警告 を参照してください。

警告

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

サンプル

<lsl> default {

   touch_start(integer UV_detected)
   {
       integer i = 0;
       for(; i<UV_detected; ++i)
           llWhisper(0, "UV clicked: " + (string)llDetectedTouchUV(i));
   }

} </lsl> <lsl> default {

   touch_start(integer total_number)
   {
       vector UV = llDetectedTouchUV(0);
       float U = UV.x;
       float V = UV.y;
       // 上のようにする事で U, V 座標を個別に取得し、また if 文で比較したりも
       // できます。もちろん常に別変数へ取り分ける必要はなく、vector 値を
       // 介して取得しても構いません。
       // 訳注: 上の例ならば llSay(0, (string) U); とせず、UV を使って直接
       // llSay(0, (string) UV.x); としてもよい。
   }

}

</lsl>

関連項目

特記事項

経緯

Search JIRA for related Issues

Signature

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