Difference between revisions of "LlTarget/ja"
< LlTarget
Jump to navigation
Jump to search
Asuka Neely (talk | contribs) m |
Mako Nozaki (talk | contribs) 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 05:16, 10 April 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の関連した項目が参考になるかもしれません。