Difference between revisions of "LlGetRot/ja"

From Second Life Wiki
Jump to navigation Jump to search
 
Line 11: Line 11:
|caveats
|caveats
|examples=
|examples=
<lsl> //-- オブジェクトを回転させ、一番近い方位 (北、東、南、西) に合わせます
<source lang="lsl2"> //-- オブジェクトを回転させ、一番近い方位 (北、東、南、西) に合わせます
  //-- 建造物がルートオブジェクトに向かいあわせになっていることが前提です
  //-- 建造物がルートオブジェクトに向かいあわせになっていることが前提です


Line 27: Line 27:
     llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) );
     llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) );
   }
   }
}</lsl>
}</source>
|helpers
|helpers
|also_header
|also_header

Latest revision as of 13:52, 25 February 2016

要約

関数: rotation llGetRot( );

リージョン 軸を基準としたプリムの回転を rotation で返します。

サンプル

 //-- オブジェクトを回転させ、一番近い方位 (北、東、南、西) に合わせます
 //-- 建造物がルートオブジェクトに向かいあわせになっていることが前提です

default{
  state_entry()
  {
    llSay( 0, "編集画面で回転させ、タッチしてこれを一番近い方位に合わせてください" );
  }

  touch_start( integer vIntTouches )
  {
     //-- 回転を x/y/z ラジアンに変換します
    vector vRadBase = llRot2Euler( llGetRot() );
     //-- Z 軸を一番近い 90° (PI_BY_TWO = 90° のラジアン表記) に丸めます
    llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) );
  }
}

注意点

マウスルック (llForceMouselook 参照 ) でアタッチメントの llGetRot をとると、アバターが見ている方向を返します。 クライアント内エディタのツールチップが誤っていると、それは物理オブジェクトのスクリプトに影響します。

特記事項

Search JIRA for related Issues

Signature

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