LlDetectedPos/ja

From Second Life Wiki
< LlDetectedPos
Revision as of 04:51, 7 November 2008 by Chihiro Owatatsumi (talk | contribs) (New page: {{LSL_Function/detected/ja|number|pos}} {{LSL_Function/ja |func_id=35|func_sleep=0.0|func_energy=10.0 |sort=DetectedPos|func=llDetectedPos |return_type=vector |p1_type=integer|p1_name=numb...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: vector llDetectedPos( integer number );

検出したオブジェクトのnumberの位置を vector で返します。

• integer number 探知情報の番号

number には 負のインデックス を使用できません。 <0.0, 0.0, 0.0>が返るとき、 numberは検出されたオブジェクトの妥当な番号ではありません。

仕様

llDetected* 関数はどこでも使用可能ですが、探知イベント (collision, collision_start, collision_end, sensor, touch, touch_start, touch_end) の中、または探知イベントで呼ばれた関数の中で呼び出されたときのみ使用可能な値を返します。

警告

  • number が正常なインデックス範囲を外れていても、スクリプトはエラー表示を出さずに処理を続けます。
  • llDetected* 関数が有効になるイベントは、常に少なくとも 1 個以上の探知結果を返します。
    • 何も探知されなかった場合、探知イベントは発生しません。[1]
    • 探知イベントの探知個数を表す引数は、最初は決して 1 未満にはなりません。[2]

サンプル

<lsl>//--// get sim position of Avatars in "say" range //--//

//-- @@ = Contains code optimizations, see the following page for details //-- https://wiki.secondlife.com/wiki/User:Void_Singer/Optimizations

default {

 state_entry()
 {
   llOwnerSay( "Touch me to get the positions of avatars in 'Say' range" );
 }
 touch_start( integer vIntTouchCount )
 {
    //-- trigger the sensor for avatars within 20m
   llSensor( "", "", AGENT, 20, PI );
 }
 sensor( integer vIntFound )
 {
   integer vIntCounter = 0;
    //-- loop through all avatars found
   do
   {
     llOwnerSay( llDetectedName( vIntCounter )
                 + " @ "
                  //-- the next line gets the position of each found avatar
                 + (string)llDetectedPos( vIntCounter ) );
   }while (++vIntCounter < vIntFound); //-- @@
 }
  //-- sensor does not detect owner if it's attached
 no_sensor()
 {
   llOwnerSay( "I couldn't find anybody" );
 }
}</lsl>

関連項目

記事

•  検出

特記事項

Search JIRA for related Issues

脚注

  1. ^ 例外は no_sensor ですが、ここでは llDetected* 関数は有効にはなりません。
  2. ^ 他のあらゆるイベント引数と同じように、ユーザは初期値を上書きすることができます。

Signature

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