Difference between revisions of "No sensor/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m |
Naoya Bellic (talk | contribs) m |
||
Line 8: | Line 8: | ||
|caveats= | |caveats= | ||
*sensor/no_sensor は必ずしも最善なやり方ではありません: | *sensor/no_sensor は必ずしも最善なやり方ではありません: | ||
**何かが範囲内/範囲外に入っているかを調べるのは、やり過ぎです。このケースでは {{LSLG/ja|llGetObjectDetails}} を、 [[#Useful Snippets| | **何かが範囲内/範囲外に入っているかを調べるのは、やり過ぎです。このケースでは {{LSLG/ja|llGetObjectDetails}} を、 [[#Useful Snippets|便利なスニペット]] の章にあるように使用しましょう。 | ||
**アバターが地域にいるかどうかを調べるには、 {{LSLG/ja|llGetAgentSize}} を使ってみましょう。 | **アバターが地域にいるかどうかを調べるには、 {{LSLG/ja|llGetAgentSize}} を使ってみましょう。 | ||
|examples= | |examples= |
Revision as of 11:01, 4 March 2011
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
警告
- スクリプトに sensor イベントがないと、 no_sensor が発生しません。 ~ SVC-2409
- sensor/no_sensor は必ずしも最善なやり方ではありません:
- 何かが範囲内/範囲外に入っているかを調べるのは、やり過ぎです。このケースでは llGetObjectDetails を、 便利なスニペット の章にあるように使用しましょう。
- アバターが地域にいるかどうかを調べるには、 llGetAgentSize を使ってみましょう。
サンプル
<lsl>//範囲内の全てのアバターをリストアップします。 default {
on_rez(integer i) { llSensor("", "", AGENT, 100000, 10000); } sensor(integer num) { integer i = 0; do { llOwnerSay(llDetectedName(i) + " is " + (string)llVecDist(llGetPos(), llDetectedPos(i)) + "m away."); }while(++i < num); } no_sensor() { llOwnerSay("No avatars in range."); }
}</lsl>
便利なスニペット
<lsl>//ユーザが範囲内にいないことを発見する他のやり方です。 //センサーをまったく使っていないので、上の警告はあてはまりません。
integer InRange(key uuid, float distance) {
list data = llGetObjectDetails(uuid, [OBJECT_POS]); if(data == []) return 0; return llVecDist(llList2Vector(data, 0), llGetPos()) <= dist;
}</lsl>
参考情報
関数
• | llSensor | |||
• | llSensorRepeat |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。