Difference between revisions of "LlWater/ja"
< LlWater
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (Undo revision 851122 by Mako Nozaki (Talk)) |
Mako Nozaki (talk | contribs) |
||
Line 2: | Line 2: | ||
|func=llWater | |func=llWater | ||
|func_id=153|func_sleep=0.0|func_energy=10.0 | |func_id=153|func_sleep=0.0|func_energy=10.0 | ||
|func_footnote='''offset''' | |func_footnote='''offset''' の X 座標と Y 座標のみが意味をもちます。<br /> | ||
水位はその SIM 全体を通して一定で、一般的には 20 メートルですが、常にそうであるとは限りません。 | |||
|func_desc | |func_desc | ||
|p1_type=vector|p1_name=offset | |p1_type=vector|p1_name=offset | ||
|return_type=float | |return_type=float | ||
|return_text= | |return_text=オブジェクトの位置から下の水位 + '''offset''' | ||
|spec | |spec | ||
|caveats=* | |caveats=*指定した位置は同じ SIM にある必要があります。 | ||
|constants | |constants | ||
|examples= | |examples= | ||
<lsl>// | <lsl>// オブジェクトを着陸させたり着水させたりします | ||
// by Konigmann Lippmann & Strife Onizuka | // by Konigmann Lippmann & Strife Onizuka | ||
FindGroundOrWater() | FindGroundOrWater() | ||
Line 21: | Line 22: | ||
vector vTarget = llGetPos(); | vector vTarget = llGetPos(); | ||
//llSetPos | //llSetPos では一度に 10 m しか移動させることができません | ||
integer iCounter = 1 + llAbs((integer)(vTarget.z - fHeight) / 10); | integer iCounter = 1 + llAbs((integer)(vTarget.z - fHeight) / 10); | ||
vTarget.z = fHeight; | vTarget.z = fHeight; | ||
Line 38: | Line 39: | ||
</lsl> | </lsl> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow|| | |also_functions={{LSL DefineRow||{{LSLG/ja|llGround}}|地面の高さを取得します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llWind}}|風の速さを取得します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llCloud}}|雲の密度を取得します}} | ||
|also_tests | |also_tests | ||
|also_events | |also_events |
Revision as of 08:16, 15 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
警告
- 指定した位置は同じ SIM にある必要があります。
サンプル
<lsl>// オブジェクトを着陸させたり着水させたりします // by Konigmann Lippmann & Strife Onizuka FindGroundOrWater() {
float fHeight = llGround( ZERO_VECTOR ); float fWaterLevel = llWater( ZERO_VECTOR ); if( fHeight < fWaterLevel ) fHeight = fWaterLevel; vector vTarget = llGetPos();
//llSetPos では一度に 10 m しか移動させることができません integer iCounter = 1 + llAbs((integer)(vTarget.z - fHeight) / 10); vTarget.z = fHeight; do llSetPos( vTarget ); while( --iCounter );
}
default {
touch_start(integer total_number) { FindGroundOrWater(); }
}
</lsl>特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。