Difference between revisions of "LlWater/ja"

From Second Life Wiki
Jump to navigation Jump to search
 
Line 12: Line 12:
|constants
|constants
|examples=
|examples=
<lsl>// オブジェクトを着陸させたり着水させたりします
<source lang="lsl2">// オブジェクトを着陸させたり着水させたりします
// by Konigmann Lippmann & Strife Onizuka
// by Konigmann Lippmann & Strife Onizuka
FindGroundOrWater()
FindGroundOrWater()
Line 37: Line 37:
     }
     }
}
}
</lsl>
</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||{{LSLG/ja|llGround}}|地面の高さを取得します}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llGround}}|地面の高さを取得します}}

Latest revision as of 14:04, 25 February 2016

要約

関数: float llWater( vector offset );

オブジェクトの位置から下の水位 + offset を float で返します。

• vector offset

offset の X 座標と Y 座標のみが意味をもちます。
水位はその SIM 全体を通して一定で、一般的には 20 メートルですが、常にそうであるとは限りません。

警告

  • 指定した位置は同じ 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();
    }
}

関連項目

関数

•  llGround 地面の高さを取得します
•  llWind 風の速さを取得します
•  llCloud 雲の密度を取得します

特記事項

Search JIRA for related Issues

Signature

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