チュートリアル

Glaeja小ネタ4

久しぶりにGlaejaの小ネタです。

今まで書いたものと重複というか同じようなことをやっている部分もありますが、最近自分が使ったもの、覚書のようなものです。

わりと滑らかに色を変化させる

Nice Battery Barというスキンでは、「色と透過度」レイヤーを使って、バッテリーバーの色を変化させています。

130613-1

これのRGBの値はなんだか複雑になっていますが、二次関数のグラフを参考にしています。

R:
#P#@p@20@p@-@x@#P#@p@20@p@-@x@*@x@-1@p@*@x@6@p@/@x@290@p@+@x@0@p@max@x@255@p@min@x@.0@P@
G:
#P#@p@60@p@-@x@#P#@p@60@p@-@x@*@x@-1@p@*@x@12@p@/@x@300@p@+@x@0@p@max@x@255@p@min@x@.0@P@
B:
#P#@p@60@p@-@x@12.7@p@*@x@ 0@p@max@x@255@p@min@x@.0@P@

これをもうちょっとわかりやすくすると、

R…{(P-20)*(P-20)*-1}/6+290
G…{(P-60)*(P-60)*-1}/12+300
B…(P-60)*12.7

となります。Pは#P#のことで、バッテリー残量です。また、それぞれ、値が0以下や255以上のときは、0や255になるようにしています。
(P-20などを2回繰り返しているところは@dup@を使うと少し省略できるかも…。)

これで、バッテリー残量1%ごとに、数字が変わっていきます。もちろんもっと単純な式でも変化はしますが、青→緑→黄→赤とうまく変化させるためにこうしました。ちょっと省略して5%ごとにすると、以下のように変化します。





















 

文字数によってバーの長さを変える

130613-2

例えば、このスキンは「バー」レイヤーの上に「テキスト」レイヤーが乗っているだけの、単純なスキンです。
でも、曜日によってバーの長さが変わります。

130613-3

これを実現するには幾つかの方法があります。
例えば今回のように曜日なら$f$で曜日を0から6の数字に変換できます。

$f$@p@40,30,50,60,15,66,11@0/-1/m@

とそれぞれの曜日に具体的な長さをmで代入してもいいでしょう。

今回はLを使ってみます。Lは文字列の長さを取得するものです。

$EEEE$@0/-1/L@

とすると$EEEE$、つまりSUNDAYやTUESDAYといった曜日の文字列の長さを取得します。ただし、スタックにプッシュされるだけなので、元の$EEEE$は消えませんし、文字列の長さの数字も表示されません。なので

$EEEE$@0/-1/L@@0/-1/d@.0@P@

として、元の文字列(曜日)を削除してスタックに積まれている文字列の長さを呼び出します。これで日曜日ならSUNDAYなので「6」が表示されます。

この数字を使って、あとは適当に数倍したりして調整すれば、文字列の長さによってバーの長さを変更することができます。
もちろん、バーだけでなく、多角形などでも同じように使えます。

 

以上、小ネタでした。

Random Posts

通話用SIMとデータ通信用SIMを分けるという考え方-3680円で音声+100GBデータ通信も可能
Google Playストアにて新生活キャンペーン!マンガ・エンタメアプリで100円使うごとに5ポイント獲得
goo Simseller、TCL 10 Proを販売開始!MNP+オプションで23,400円の発売記念特価!
シャープ、AQUOS zero2 SH-M13にAndroid 11のDeveloper Preview Program を提供開始!
アプリのレビュー、書きたくなるのはアプリが落ちた時や重いなど不満を感じた時
16BITのニクい奴【あなたのホーム画面見せてください 2019】
人気スマホが最大16000円引き!楽天モバイル、おトクに機種変更キャンペーン第2弾
ソフトバンク、「かんたんデータコピー」開始!電話帳や写真、発着信履歴をほかのスマホにコピー可能
Unihertz Titanのクラウドファンディング開始!わずか28分で目標額達成、Super Early Birdは1分半で完売!
KDDI、スマホ決済「au PAY」を4/9より提供開始!最大26.5%還元のキャンペーンも
「スクリーンショットを保存しました」の通知を表示しないようにする方法
GEVO ネックバンド型ワイヤレスイヤホン GV28 レビュー:クリアな音質とやさしい装着感がグッド
DigitalAntique【あなたのホーム画面見せてください 2019】
UMIDIGI、手頃な価格と耐久性のあるBluetooth 5.0ネックバンドイヤホンUMIDIGI Ubeatsを発売!
Gloture、SIMが入ってGPS追跡や見守り機能もついた子ども向け腕時計型スマートフォン「myFirst Fone」を発売