Difference between revisions of "LlTarget/ja"
< LlTarget
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (Undo revision 850302 by Mako Nozaki (Talk)) |
Mako Nozaki (talk | contribs) |
||
Line 5: | Line 5: | ||
|p1_type=vector|p1_name=position | |p1_type=vector|p1_name=position | ||
|p2_type=float|p2_name=range | |p2_type=float|p2_name=range | ||
|func_footnote= | |func_footnote=同じような関数が回転についてもあります: {{LSLG/ja|llRotTarget}}<br/>この関数はオブジェクトを移動させません。移動させるには、 {{LSLG/ja|llSetPos}} や {{LSLG/ja|llMoveToTarget}} を使用します。 | ||
|func_desc= | |func_desc=この関数で、ある位置に到達したときに、スクリプトにそれを知らせることができます。<br/>'''position''' を '''range''' と一緒に登録し、登録解除されるまで {{LSLG/ja|at_target}} と {{LSLG/ja|not_at_target}} のイベントを継続的に発生させ続けます。 | ||
|return_text={{LSLG/ja|llTargetRemove}} | |return_text={{LSLG/ja|llTargetRemove}} を使って目標を登録解除するためのハンドラ | ||
|spec | |spec | ||
|caveats | |caveats=* 位置は常に現在の地域に相対するものです。地域 A にいるときに llTarget に <100, 100, 100> を指定し、それからオブジェクトを地域 B に移動させると、目標は自動的に地域 B の <100, 100, 100> になります。 | ||
* 地域の境界線の外に位置を設定することもできますが、 {{LSLG/ja|at_target}} は範囲が現在の地域に収まっている場合にだけ発生します。現在の地域の外にある範囲では、 {{LSLG/ja|at_target}} は発生しません。 | |||
* 1 つのスクリプトで 8 つの目標までを設定することができます。それ以上 llTarget を呼び出すと、一番古い目標を削除します。 | |||
|constants | |constants | ||
|examples= | |examples= | ||
Line 45: | Line 47: | ||
|helpers | |helpers | ||
|also_functions= | |also_functions= | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llTargetRemove}}|位置目標を登録解除します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llRotTarget}}|回転目標を登録します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llRotTargetRemove}}|回転目標を登録解除します}} | ||
|also_tests | |also_tests | ||
|also_events= | |also_events= | ||
{{LSL DefineRow| | {{LSL DefineRow|{{LSLG/ja|at_target}}|{{LSLG/ja|not_at_target}}|位置目標に達したときのイベント}} | ||
{{LSL DefineRow| | {{LSL DefineRow|{{LSLG/ja|at_rot_target}}|{{LSLG/ja|not_at_rot_target}}|回転目標に達したときのイベント}} | ||
|also_articles | |also_articles | ||
|notes | |notes | ||
|cat1=Target | |cat1=Target | ||
|cat2=Physics | |cat2=Physics | ||
|cat3 | |cat3=At Target | ||
|cat4 | |cat4 | ||
}} | }} |
Revision as of 02:44, 15 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: integer llTarget( vector position, float range );
この関数で、ある位置に到達したときに、スクリプトにそれを知らせることができます。
position を range と一緒に登録し、登録解除されるまで at_target と not_at_target のイベントを継続的に発生させ続けます。
llTargetRemove を使って目標を登録解除するためのハンドラを integer で返します。
• vector | position | |||
• float | range |
同じような関数が回転についてもあります: llRotTarget
この関数はオブジェクトを移動させません。移動させるには、 llSetPos や llMoveToTarget を使用します。
警告
サンプル
<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 | – | 回転目標を登録解除します |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。