LlSetPos/ja

From Second Life Wiki
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.

要約

関数: llSetPos( vector pos );

オブジェクトまたはプリムを、物理特性を使わずに pos へ移動させます。

• vector pos 状況によって、 リージョン または ローカル座標 (仕様 参照のこと) 。

移動はアタッチメントでないルートプリムでは 1 回の呼び出しで 10 m に制限されています。[1]

仕様

座標フレーム
  • ルートプリム (もしくはシングルプリムのオブジェクト)
  • 子プリム (ルートプリムでない)

警告

  • この関数は 0.2 秒間、スクリプトを停止します。
  • この関数は内部でローカル座標とリージョン座標が混在しているため、プリムの位置が知りたいときは llGetLocalPos を使用するのが最適です。
  • この関数は物理オブジェクトでは動作しません。代わりに llMoveToTarget を使用しましょう。

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   llSetPos() doesn't change position for small vectors when called in attachments on Havok4 unless interacted with

サンプル

//誰かがタッチしたら、オブジェクトを 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);    
}

注意点

複数回の移動コマンドは llSetPrimitiveParamsPRIM_POSITION で連結させることができます。この長所は、1 回の動作ごとでなく、関数の呼び出しごとにだけスクリプトが休止することです。

関連項目

関数

•  llGetLocalPos 装着されているかルートプリムではない場合、プリムのローカル位置を返します。 (そうでなければ、グローバル位置を返します)
•  llGetRootPosition ルートプリムの位置を返します。
•  llGetPos 装着されていてもルートプリムでなくても、プリムのグローバル位置を返します。

特記事項

All Issues

~ Search JIRA for related Issues
   llSetPos() doesn't change position for small vectors when called in attachments on Havok4 unless interacted with

脚注

  1. ^ 明記されていない warpPos バグを利用しない限り

Signature

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