Difference between revisions of "LlSetPos/ja"
< LlSetPos
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) |
|||
Line 19: | Line 19: | ||
|constants | |constants | ||
|examples= | |examples= | ||
< | <source lang="lsl2"> | ||
//誰かがタッチしたら、オブジェクトを 1m 上へ移動させます。 | //誰かがタッチしたら、オブジェクトを 1m 上へ移動させます。 | ||
default { | default { | ||
Line 41: | Line 41: | ||
llSetPos(save); | llSetPos(save); | ||
} | } | ||
</ | </source> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||{{LSLG/ja|llGetLocalPos}}|装着されているかルートプリムではない場合、プリムのローカル位置を返します。 (そうでなければ、グローバル位置を返します)}} | |also_functions={{LSL DefineRow||{{LSLG/ja|llGetLocalPos}}|装着されているかルートプリムではない場合、プリムのローカル位置を返します。 (そうでなければ、グローバル位置を返します)}} |
Latest revision as of 13:04, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
仕様
警告
- この関数は 0.2 秒間、スクリプトを停止します。
- この関数は内部でローカル座標とリージョン座標が混在しているため、プリムの位置が知りたいときは llGetLocalPos を使用するのが最適です。
- この関数は物理オブジェクトでは動作しません。代わりに llMoveToTarget を使用しましょう。
サンプル
//誰かがタッチしたら、オブジェクトを 1m 上へ移動させます。
default {
touch_start(integer i) {
llSetPos(llGetPos() + <0,0,1>);
}
}
// 小さい移動のときのバグを回避するためにこれを使います
// - created by Madpeter Zond
// 注意: リンクされたプリムで、移動可能な範囲を超えたかどうかのチェックは行っていません
llSetLocalPos(vector offset)
{
vector save = offset;
if(offset.x < 0.0) offset.x -= 1;
else offset.x += 1;
if(offset.y < 0.0) offset.y -= 1;
else offset.y += 1;
if(offset.z < 0.0) offset.z -= 1;
else offset.z += 1;
llSetPos(offset);
llSetPos(save);
}
注意点
複数回の移動コマンドは llSetPrimitiveParams と PRIM_POSITION で連結させることができます。この長所は、1 回の動作ごとでなく、関数の呼び出しごとにだけスクリプトが休止することです。
関連項目
関数
• | llGetLocalPos | – | 装着されているかルートプリムではない場合、プリムのローカル位置を返します。 (そうでなければ、グローバル位置を返します) | |
• | llGetRootPosition | – | ルートプリムの位置を返します。 | |
• | llGetPos | – | 装着されていてもルートプリムでなくても、プリムのグローバル位置を返します。 |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。