Difference between revisions of "LlWater/ja"
< LlWater
Jump to navigation
Jump to search
(Update translation) |
|||
(3 intermediate revisions by one other user not shown) | |||
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= | ||
< | <source lang="lsl2">// オブジェクトを着陸させたり着水させたりします | ||
// 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 36: | Line 37: | ||
} | } | ||
} | } | ||
</ | </source> | ||
|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 |
Latest revision as of 14:04, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
警告
- 指定した位置は同じ SIM にある必要があります。
サンプル
// オブジェクトを着陸させたり着水させたりします
// 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 Wikiの関連した項目が参考になるかもしれません。