BlackSheep-LSL@Wiki

llAbs

最終更新:

mizcremorne

- view
メンバー限定 登録/ログイン

llAbs

integer llAbs(integer val)

引数valに指定した整数値の絶対値を返す。
絶対値とは0との差であり、常に正の数値となる。

例えば4の絶対値は4であり、-4の絶対値も4である。
マイナスの数値がプラスに変換されると考えてよい。

この関数の使いどころは、例えば二つの数値の間がいくつ離れているかを計算したい場合などに使用できる(ゲームで1位と2位の成績の差を求めたい場合など)。

以下のユーザー関数は二つの整数値がいくつ離れているかを返す。

integer get_abs(integer a, integer b){
  return llAbs(a - b);
}

aとbのどちらが大きいかを意識する必要がない。
例えば、a=100、b=75の場合、a-bは25、これの絶対値25を返す。
逆にa=75、b=100の場合は、a-bが-25になり、絶対値を取ってやはり25を返す。

また、フラグの切り替えを行う際に使用することもある。
例えばタッチするたびに0、5、0、5と交互に繰り返し変化するフラグを使いたいときには、

integer flg = 0;
(略)
touch_start(integer detected){
  flg = llAbs(flg - 5);
}

なお、小数の絶対値を得る場合にはllFabs関数を使用する。
記事メニュー
目安箱バナー