No sensor/ja
< No sensor
Jump to navigation
Jump to search
Revision as of 11:01, 4 March 2011 by Naoya Bellic (talk | contribs)
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の関連した項目が参考になるかもしれません。