LlTarget/ja
< LlTarget
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: integer llTarget( vector position, float range );
この関数で、ある位置に到達したときに、スクリプトにそれを知らせることができます。
position を range と一緒に登録し、登録解除されるまで at_target と not_at_target のイベントを継続的に発生させ続けます。
llTargetRemove を使って目標を登録解除するためのハンドラを integer で返します。
• vector | position | |||
• float | range |
同じような関数が回転についてもあります: llRotTarget
この関数はオブジェクトを移動させません。移動させるには、 llSetPos や llMoveToTarget を使用します。
サンプル
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("オブジェクトは目標範囲に入っています");
llOwnerSay("目標位置: " + (string)targetpos + ", オブジェクトの現在位置: " + (string)ourpos);
llOwnerSay("これは目標から " + (string)llVecDist(targetpos, ourpos) + " メートル離れています");
llTargetRemove(target_id);
}
}
not_at_target()
{
llOwnerSay(
"まだ到達していません - オブジェクトは " + (string)llGetPos() +
" にあり, それは目標から " + (string)llVecDist(target_pos, llGetPos()) +
" メートル離れています (" + (string)target_pos + ")"
);
}
}
関連項目
イベント
• at_target | not_at_target | – | 位置目標に達したときのイベント | |
• at_rot_target | not_at_rot_target | – | 回転目標に達したときのイベント |
関数
• | llTargetRemove | – | 位置目標を登録解除します | |
• | llRotTarget | – | 回転目標を登録します | |
• | llRotTargetRemove | – | 回転目標を登録解除します |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。