OREFOLDER

Glaeja的名言ウィジェット

リクエストをいただきました。
Glaejaで名言ウィジェット。Glaejaスキンサンプル12個という記事で四次元殺法コンビの名言ウィジェットを作りましたが、この時のGlaejaは(たぶん)まだマルチラインテキストが実装されていませんでした。今はあるので、もうちょっと簡単に作ってみました。

まずは表示したい名言を1行に1つずつ記述したtxtファイルを用意します。文字コードがUTF-8以外だと文字化けするかもしれません。今回はsnp2.txtというファイルを用意して、それをcom.gmail.kanitawa.glaeja/imagesフォルダの中に入れます。今回のtxtファイルの中身は以下のようになっています。
[plain]
YOU PLAY WITH THE CARDS YOU’RE DEALT..WHATEVER THAT MEANSn(配られたカードで勝負するっきゃないのさ…それがどういう意味であれ)
KEEP LOOKING UP…THAT’S THE SECRET OF LIFE…n(上を見続ける…それが生きるコツさ…)
YOU CAN’T BELIEVE EVERYTHING YOU HEAR, YOU KNOW…n(話だけじゃあてにならないよ、そうだろ…)
IF A BOY NEVER SENDS A GIRL FLOWERS, HE ROBS HIMSELF OF ONE OF THE GREAT JOYS OF LIFEn(女の子に花束を贈らなかったら人生の大きな喜びを自分から奪ってることになるのよ)
[/plain]
サンプルなので4つしかありません。

Glaejaのスキン設定は簡単です。レイヤーは1枚しか使いません。マルチラインテキストを使います。
表示文字列は以下のようにします。
[plain]
4@p@rand@x@.0@P@@p@snp2@0/-1/f@@0/-1/b@
[/plain]
まず最初の「4@p@rand@x@.0@P@」の部分は0-3の数字をランダムに1つ表示する、ということです。
そして次の「@p@snp2@0/-1/f@」ではsnp2.txtというファイルの中の@p@の前の数字(つまり先程ランダムに取り出した数字)行目のテキストを読み出す(一番上が0行目)、ということを行います。
最後の@0/-1/b@ではそうして表示させたテキストの中のnを改行として扱ったりしてくれます。(詳しくは公式のちゃんとした解説を読んでください。)

…という3つの前方文字置換エスケープキャラクタを組み合わせて使用しています。
名言の種類を増やしたい時はテキストファイルを編集して増やしてください。そして4@p@rand@x@.0@P@の最初の数字を行数-1の数字に変えてください。(-1するのはGlaejaは一番上の行を0行目と数えるため。)

  • 本記事は広告およびアフィリエイトプログラムによる収益を得ています。

改行について

マルチラインテキストはnで指定した箇所もしくは指定した幅のどちらかで改行することができます。(その両方を同時に行うために「行を折り返す」にチェックをいれつつ@0/-1/b@をつけています)が禁則処理などはしないので、上の画像でもWHATEVERが単語の途中で改行されてしまっています。これをどうにかするには…どうすればいいんでしょうね?
実際にウィジェットを置いてみて、フォントや大きさを決めた後に改行したいところにnを入れていくしかないかもしれません。

なお、もしそうやって全ての改行位置を自分でコントロールする場合は先程の表示文字列の最後@0/-1/b@は必要ありません。そのかわりマルチラインテキストの設定の「行を折り返す」のチェックを外してください。これでテキスト内のnが改行に変換されます。

上記サンプルでは英語部分と日本語部分の間で改行したかったのでnと@0/-1/b@を入れてありますが、改行の必要がなければやはり@0/-1/b@は必要無いので、「4@p@rand@x@.0@P@@p@snp2@0/-1/f@」で大丈夫です。

サンプルスキンファイル

今回のスキンサンプルを以下に置いています。カスタマイズしやすいように素っ気なく作っています。フォントを変えるなり、自分のホームに合わせてご利用ください。
http://ux.getuploader.com/orefolder/download/71/snp.zip

モバイルバージョンを終了