KLWPで斜めのプログレスバーをぴったりおさめる!
【こちらは前サイトからの移植記事になります。】
タイトル通りのメモ。変えたくなった頃に調べるはず。
KLWPでプログレスバー表示可愛くのバッテリーを斜めにしたい場合、画面見ながら小さめのを調節するならいいけど画面の端から端の場合はサイズの+を連打するにはデカイ! そして画面がでかくなってはみだしたかどうか見えなくなっていく……。
目標
斜めのラインを計算で求める。
求められるものは2つある。
- 任意の角度の斜め線が画面幅になるときの長さを求める
- 対角線の長さを求める
好きな角度!
図形の長方形やプログレスバーで角度を手動で決める。特にプログレスバーは端っこが切れたらいけないからできるだけぴったりが求められる。
長さの数式はここの公式に当てはめると以下の通り。コサインっていうのを使う。聞いた覚えはあるが数Ⅲ捨ててたからどうしてそうなるのか全然わからないけど公式出してくれてるからそれを使おう。あれ!? 数Ⅲだよね!? 数Ⅱだっけ!?
1 |
$si(rwidth)/mu(cos,[任意の角度])$ |
縦の斜めの場合はrwidthをrheightに変えるといい。
対角線の長さ
図形の長方形やプログレスバーを斜めに設置。
- 高さか幅、サイズ:三平方の定理を使う。画面横幅の2乗+画面縦幅の2乗の平方根を求めている。
1$mu(sqrt, si(rwidth)^2+si(rheight)^2)$ - 角度:だいたい60°だと思うけど、小数点以下までわかった方がぴったりくる気がするからこのサイトで画面横幅、縦幅を入力すべし。向きが思ったのと違ったら90°から引いたり、180°か270°足すとか、いろいろあるぞ。
ちなみに上記のサイトの公式を使って数式でもがんばってみたけど、私のスマホではなぜか3°ずれてしまい、数式は以下のようになりました。
1$90-mu(tan,si(rheight)/si(rwidth))^-1+3$
これで+連打を避けられるけど、+連打の方が早いのでは? という気もする。
バッテリー表示のと組み合わせる場合はsi(rwidth)のところにそれぞれの数式入れるだけですね。