Difference between revisions of "Sensor/ja"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{LSL_Event/ja |event_id=13|event_delay|event=sensor |p1_type=integer|p1_name=num_detected|p1_desc=発見したオブジェクト(アバタ)の数 |event_desc=llSensor...)
 
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{LSL_Event/ja
{{LSL_Event/ja
|event_id=13|event_delay|event=sensor
|event_id=13|event_delay|event=sensor
|p1_type=integer|p1_name=num_detected|p1_desc=発見したオブジェクト(アバタ)の数
|p1_type=integer|p1_name=num_detected|p1_desc=見つかったオブジェクト/アバターの数
|event_desc=[[llSensor/ja|llSensor]]か[[llSensorRepeat/ja|llSensorRepeat]]のいずれかでの呼び出しによる結果です。
|event_desc={{LSLG/ja|llSensor}} または {{LSLG/ja|llSensorRepeat}} の呼び出しで発生します。
|event_footnote=この結果は近い対象から遠い対象へと並べられています。
|event_footnote=結果は近い順に並んでいます。
<br/>'''num_detected'''は常に0より大きく、[[no_sensor/ja|no_sensor]]イベントはオブジェクト(アバタ)が見つからない場合に作動されます。
<br/>'''num_detected''' は常に 0 より大きくなります。オブジェクト/アバターが見つからなかった場合は、 {{LSLG/ja|no_sensor}} イベントが発生します。
|constants
|constants
|spec
|spec
|caveats
|caveats=*[[God Mode|管理者モード]] の [[Linden]] は、 Linden と同じ地域の中にあるセンサーに引っ掛かりません。
*アタッチメントの中のセンサーはアバターの向いている方向を前方ベクトルとして使用します。マウスルックでは、アバターが見ている方向、マウスルックでない場合は、アバターが向いている方向ということになります。アバターの頭が向いている方向、アバターがアニメーションで向いている方向は入りません。アバターが前に歩く時に移動する方向となります。この場合、オブジェクトがどこに装着されていても関係ありません。
*アタッチメントの中のセンサーは、装着している人を検出しません。
*センサーは最初に見つかった 16 のオブジェクト/アバターだけを返します。
|examples=
|examples=
<lsl>float range = 10.0; //  metres
<source lang="lsl2">float range = 10.0; //  メートル
   
   
default
default
Line 15: Line 18:
     touch_start(integer numberDetected)
     touch_start(integer numberDetected)
     {
     {
         llSensor("", "", AGENT, range, PI); // activates the sensor.
         llSensor("", "", AGENT, range, PI); // センサーを起動します
         // look for avatars (i.e. not moving objects) on all sides of the object
         // オブジェクトの周りのアバター (言い換えると、動いていないオブジェクト) を検索します
     }
     }
   
     sensor (integer numberDetected)
     sensor (integer numberDetected)
     {
     {
         string msg = "Detected " + (string)numberDetected + " avatar(s): " + llDetectedName(0);
         string msg = "Detected " + (string)numberDetected + " avatar(s): " + llDetectedName(0);
         integer i = 0;
         integer i = 0;
         while(numberDetected > ++i)//skips the first item which suits this application
         while(numberDetected > ++i)//このアプリケーションでは、最初にヒットしたアイテムをスキップします
         {
         {
             msg += ", " + llDetectedName(i);
             msg += ", " + llDetectedName(i);
Line 29: Line 32:
         llWhisper(0, msg);
         llWhisper(0, msg);
     }
     }
   
     no_sensor()
     no_sensor()
     {
     {
         llWhisper(0, "Nobody is near me at present.");
         llWhisper(0, "Nobody is near me at present.");
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_header
|also_header
|also_events
|also_events
|also_functions={{LSL DefineRow||[[llSensor/ja|llSensor]]|}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llSensor}}|}}
{{LSL DefineRow||[[llSensorRepeat/ja|llSensorRepeat]]|}}
{{LSL DefineRow||{{LSLG/ja|llSensorRepeat}}|}}
|also_articles={{LSL DefineRow||[[Detected/ja|Detected]]|}}
|also_articles={{LSL DefineRow||{{LSLGC/ja|Detected}}|}}
|also_footer
|also_footer
|notes
|notes

Latest revision as of 10:19, 21 February 2016

説明

イベント: sensor( integer num_detected ){ ; }

llSensor または llSensorRepeat の呼び出しで発生します。

• integer num_detected 見つかったオブジェクト/アバターの数

結果は近い順に並んでいます。
num_detected は常に 0 より大きくなります。オブジェクト/アバターが見つからなかった場合は、 no_sensor イベントが発生します。

警告

  • 管理者モードLinden は、 Linden と同じ地域の中にあるセンサーに引っ掛かりません。
  • アタッチメントの中のセンサーはアバターの向いている方向を前方ベクトルとして使用します。マウスルックでは、アバターが見ている方向、マウスルックでない場合は、アバターが向いている方向ということになります。アバターの頭が向いている方向、アバターがアニメーションで向いている方向は入りません。アバターが前に歩く時に移動する方向となります。この場合、オブジェクトがどこに装着されていても関係ありません。
  • アタッチメントの中のセンサーは、装着している人を検出しません。
  • センサーは最初に見つかった 16 のオブジェクト/アバターだけを返します。

サンプル

float range = 10.0; //  メートル
 
default
{
    touch_start(integer numberDetected)
    {
         llSensor("", "", AGENT, range, PI); // センサーを起動します
         // オブジェクトの周りのアバター (言い換えると、動いていないオブジェクト) を検索します
    }
    
    sensor (integer numberDetected)
    {
        string msg = "Detected " + (string)numberDetected + " avatar(s): " + llDetectedName(0);
        integer i = 0;
        while(numberDetected > ++i)//このアプリケーションでは、最初にヒットしたアイテムをスキップします
        {
            msg += ", " + llDetectedName(i);
        }
        llWhisper(0, msg);
    }
    
    no_sensor()
    {
        llWhisper(0, "Nobody is near me at present.");
    }
}

参考情報

関数

•  llSensor
•  llSensorRepeat

記事

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