Difference between revisions of "Sensor/ja"
< Sensor
Jump to navigation
Jump to search
Asuka Neely (talk | contribs) (New page: {{LSL_Event/ja |event_id=13|event_delay|event=sensor |p1_type=integer|p1_name=num_detected|p1_desc=発見したオブジェクト(アバタ)の数 |event_desc=llSensor...) |
Mako Nozaki (talk | contribs) |
||
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= | |event_desc={{LSLG/ja|llSensor}} または {{LSLG/ja|llSensorRepeat}} の呼び出しで発生します。 | ||
|event_footnote= | |event_footnote=結果は近い順に並んでいます。 | ||
<br/>'''num_detected''' | <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; // | <lsl>float range = 10.0; // メートル | ||
default | default | ||
Line 15: | Line 18: | ||
touch_start(integer numberDetected) | touch_start(integer numberDetected) | ||
{ | { | ||
llSensor("", "", AGENT, range, PI); // | llSensor("", "", AGENT, range, PI); // センサーを起動します | ||
// | // オブジェクトの周りのアバター (言い換えると、動いていないオブジェクト) を検索します | ||
} | } | ||
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)// | while(numberDetected > ++i)//このアプリケーションでは、最初にヒットしたアイテムをスキップします | ||
{ | { | ||
msg += ", " + llDetectedName(i); | msg += ", " + llDetectedName(i); | ||
Line 29: | Line 32: | ||
llWhisper(0, msg); | llWhisper(0, msg); | ||
} | } | ||
no_sensor() | no_sensor() | ||
{ | { | ||
Line 38: | Line 41: | ||
|also_header | |also_header | ||
|also_events | |also_events | ||
|also_functions={{LSL DefineRow|| | |also_functions={{LSL DefineRow||{{LSLG/ja|llSensor}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llSensorRepeat}}|}} | ||
|also_articles={{LSL DefineRow|| | |also_articles={{LSL DefineRow||{{LSLGC/ja|Detected}}|}} | ||
|also_footer | |also_footer | ||
|notes | |notes |
Revision as of 04:20, 20 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
説明
イベント: sensor( integer num_detected ){ ; }13 | イベント ID |
llSensor または llSensorRepeat の呼び出しで発生します。
• integer | num_detected | – | 見つかったオブジェクト/アバターの数 |
結果は近い順に並んでいます。
num_detected は常に 0 より大きくなります。オブジェクト/アバターが見つからなかった場合は、 no_sensor イベントが発生します。
警告
- 管理者モード の Linden は、 Linden と同じ地域の中にあるセンサーに引っ掛かりません。
- アタッチメントの中のセンサーはアバターの向いている方向を前方ベクトルとして使用します。マウスルックでは、アバターが見ている方向、マウスルックでない場合は、アバターが向いている方向ということになります。アバターの頭が向いている方向、アバターがアニメーションで向いている方向は入りません。アバターが前に歩く時に移動する方向となります。この場合、オブジェクトがどこに装着されていても関係ありません。
- アタッチメントの中のセンサーは、装着している人を検出しません。
- センサーは最初に見つかった 16 のオブジェクト/アバターだけを返します。
サンプル
<lsl>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."); }
}</lsl>
参考情報
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。