LlDetectedTouchUV/ja
From Second Life Wiki
メインページ > LlDetectedTouchUV > LlDetectedTouchUV/ja
関数: 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 面の検出に対応していない。
- ビューアの対応は llDetectedTouchFace の戻り値でチェックできます。
- touch 点がプリムの表面から外れた。
- touch 点を取得できないほど、touch 点が面の端に近すぎた。
- この関数を呼び出したイベントが touch 系イベントでない。
- アバターのビューアが touch 面の検出に対応していない。
例
default { touch_start(integer UV_detected) { integer i = 0; for(; i<UV_detected; ++i) llWhisper(0, "UV clicked: " + (string)llDetectedTouchUV(i)); } }
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); としてもよい。 } }
関連項目
イベント
| • | touch_start | |||
| • | touch | |||
| • | touch_end |
関数
| • | llDetectedLinkNumber | |||
| • | llDetectedTouchFace | |||
| • | llDetectedTouchST | |||
| • | llDetectedTouchPos | |||
| • | llDetectedTouchNormal | |||
| • | llDetectedTouchBinormal |
項目
| • | Detected |
ディープノート
経緯
- Introduced in SVN:870 r92872 Trunk 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).
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

