Difference between revisions of "LlTarget/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
m (カテゴリ変更)
Line 54: Line 54:
|also_articles
|also_articles
|notes
|notes
|cat1=Target
|cat1=Target/ja
|cat2=Physics
|cat2=Physics/ja
|cat3
|cat3
|cat4
|cat4
}}
}}

Revision as of 06:16, 10 April 2010

要約

関数: integer llTarget( vector position, float range );

この関数は、スクリプトが位置に到着したときを知ることを試みます。
positionrangeを登録するとat_targetが作動し、not_at_targetイベントが登録解除されるまで継続します。
llTargetRemoveと対象を登録解除する処理を integer で返します。

• vector position
• float range

よく似た関数のllRotTargetが回転のために存在します。
この関数はオブジェクトを動かさないため、llSetPosllMoveToTargetを使うことで行ないます。

サンプル

<lsl> integer target_id; vector target_pos;

default {

   state_entry()
   {
       target_pos = llGetPos() + <1.0, 0.0, 0.0>;
       target_id = llTarget(target_pos, 0.5);
   }
   at_target(integer tnum, vector targetpos, vector ourpos)
   {
       if (tnum == target_id)
       {
           llOwnerSay("object is within range of target");
           llOwnerSay("target position: " + (string)targetpos + ", object is now at: " + (string)ourpos);
           llOwnerSay("this is " + (string)llVecDist(targetpos, ourpos) + " meters from the target");
           llTargetRemove(target_id);
       }
   }
   not_at_target()
   {
       llOwnerSay(
           "not there yet - object is at " + (string)llGetPos() + 
           ", which is " + (string)llVecDist(target_pos, llGetPos()) + 
           " meters from the target (" + (string)target_pos + ")"
       );
   }

}

</lsl>

関連項目

イベント

• at_target not_at_target 位置を対象のイベント
• at_rot_target not_at_rot_target 回転を対象のイベント

関数

•  llTargetRemove 対象の位置を停止します
•  llRotTarget 対象の回転を設定します
•  llRotTargetRemove 対象の回転を停止します

特記事項

Search JIRA for related Issues

Signature

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