LlDetectedTouchUV/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: llDetectedTouchUV( integer index );

touch された点の、テクスチャ上の座標を vector で返します。ベクトル座標の x と y には、それぞれ u 軸と v 軸の面の座標が入っています (<u, v, 0.0>)。 TOUCH_INVALID_TEXCOORD が、タッチされた UV 座標が特定できないときに返却されます。詳細は 警告 を見てください。

• integer index 探知情報の番号

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

警告

  • index が正常なインデックス範囲を外れていても、スクリプトはエラー表示を出さずに処理を続けます。
  • 以下の場合は TOUCH_INVALID_TEXCOORD が返されます:
    • アバターのビューアが 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) UV.x);
    }
}

関連項目

特記事項

経緯

  • SVN:870 r92872 Trunk Wednesday, 23 July 2008 で導入。
  • サーバでのサポートは Second Life では 1.24.7.98039 から、クライアントんサポートは Release Candidate ビューワでは 1.21.4 (98167) から。

Search JIRA for related Issues

Signature

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