Sensor/ja
< Sensor
Jump to navigation
Jump to search
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
説明
イベント: sensor( integer num_detected ){ ; }13 | イベント ID |
llSensor または llSensorRepeat の呼び出しで発生します。
• integer | num_detected | – | 見つかったオブジェクト/アバターの数 |
結果は近い順に並んでいます。
num_detected は常に 0 より大きくなります。オブジェクト/アバターが見つからなかった場合は、 no_sensor イベントが発生します。
警告
- 管理者モード の Linden は、 Linden と同じ地域の中にあるセンサーに引っ掛かりません。
- アタッチメントの中のセンサーはアバターの向いている方向を前方ベクトルとして使用します。マウスルックでは、アバターが見ている方向、マウスルックでない場合は、アバターが向いている方向ということになります。アバターの頭が向いている方向、アバターがアニメーションで向いている方向は入りません。アバターが前に歩く時に移動する方向となります。この場合、オブジェクトがどこに装着されていても関係ありません。
- アタッチメントの中のセンサーは、装着している人を検出しません。
- センサーは最初に見つかった 32 のオブジェクト/アバターだけを返します。
サンプル
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 Wikiの関連した項目が参考になるかもしれません。