Difference between revisions of "LlGetRot/ja"
< LlGetRot
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (Undo revision 849962 by Mako Nozaki (Talk)) |
Mako Nozaki (talk | contribs) |
||
Line 6: | Line 6: | ||
|func_footnote | |func_footnote | ||
|return_type=rotation | |return_type=rotation | ||
|return_text=[[Viewer coordinate frames#Region|リージョン]] | |return_text=[[Viewer coordinate frames/ja#Region|リージョン]] 軸を基準としたプリムの回転 | ||
|constants | |constants | ||
|spec | |spec | ||
|caveats | |caveats | ||
|examples= | |examples= | ||
<lsl> //-- | <lsl> //-- オブジェクトを回転させ、一番近い方位 (北、東、南、西) に合わせます | ||
//-- | //-- 建造物がルートオブジェクトに向かいあわせになっていることが前提です | ||
default{ | default{ | ||
state_entry() | state_entry() | ||
{ | { | ||
llSay( 0, " | llSay( 0, "編集画面で回転させ、タッチしてこれを一番近い方位に合わせてください" ); | ||
} | } | ||
touch_start( integer vIntTouches ) | touch_start( integer vIntTouches ) | ||
{ | { | ||
//-- | //-- 回転を x/y/z ラジアンに変換します | ||
vector vRadBase = llRot2Euler( llGetRot() ); | 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 > ) ); | llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) ); | ||
} | } | ||
Line 42: | Line 42: | ||
|also_articles | |also_articles | ||
|also_footer | |also_footer | ||
|notes= | |notes=[[Mouselook|マウスルック]] ([[llForceMouselook/ja|llForceMouselook]] 参照 ) でアタッチメントの llGetRot をとると、アバターが見ている方向を返します。 | ||
クライアント内エディタのツールチップが誤っていると、それは物理オブジェクトのスクリプトに影響します。 | |||
|mode | |mode | ||
|deprecated | |deprecated | ||
Line 49: | Line 49: | ||
|cat1=Movement | |cat1=Movement | ||
|cat2=Rotation | |cat2=Rotation | ||
|cat3 | |cat3=Prim | ||
|cat4 | |cat4 | ||
|cat5 | |cat5 | ||
|cat6 | |cat6 | ||
}} | }} |
Revision as of 02:39, 4 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
サンプル
<lsl> //-- オブジェクトを回転させ、一番近い方位 (北、東、南、西) に合わせます
//-- 建造物がルートオブジェクトに向かいあわせになっていることが前提です
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 > ) ); }}</lsl>
注意点
マウスルック (llForceMouselook 参照 ) でアタッチメントの llGetRot をとると、アバターが見ている方向を返します。 クライアント内エディタのツールチップが誤っていると、それは物理オブジェクトのスクリプトに影響します。
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。