Andollというドロイド君がいろいろ喋ってくれるアプリがありますね。かわいいですね。
これに似たものをGlaejaで作ってみようと思いました。
ランダムな値の取り出し方
まず、Glaejaでランダムに何かを表示するにはどうしたらいいのか?と考えました。これはけっこう簡単です。正確にはランダムじゃないのかもしれませんが、適当に規則性なく数字を取り出す、ということで。
$ss$で秒を(2ケタで)表示することができます。とは言っても、Glaeja自体が1秒ごとに描画更新されるわけではないので、描画更新された時の「秒」です。描画更新のタイミング(更新トリガー)は設定でいくつかをオンオフすることができますが、これをすべてオフにすると分表示の入れ替わる1分ごとの更新になるでしょうか。(これにするとバッテリー消費量もけっこう抑えられます。逆にすべてオンだと電波状況が変わったりするたびに更新してバッテリー消費もそれに伴って増えるようです。)
この表示された「秒」も必ず00になるというわけではないので、これでランダムに00から59までの数字が手に入ります。60個でも十分だとは思いますが、もっと増やしたいときは適当にほかの数字を加えてもいいんじゃないでしょうか。
今回は60個では多いので「$ss$@0/1/d@」としました。つまり、秒の10の位です。これでランダムに0から5の6種類の数字を取り出せます。10種類にしたければ「$ss$@1/1/d@」とすれば1の位を取り出せますね。
ランダムな画像を表示する
ランダムな数字を利用して、まずは画像を表示します。
イメージのマッチでファイル名を「rinko_$ss$@0/1/d@」とします。で、rinko_0.pngからrinko_5.pngまで6個の画像を用意すれば、ランダムに画像を表示することができます。
画像に対応したテキストを表示する
それぞれの画像と一緒に表示するテキストを設定します。これはマッチテキストを使います。
「元の文字列」に「$ss$@0/1/d@」と入力します。これは判定用なので、文字の色を透明にして表示させないようにします。
次に「対象の文字列」の「探索文字列」で0と入力します。「置換して表示する」にチェックを入れ、rinko_0.pngの画像が表示されたときの表示テキストを「置換文字列」に入力します。時刻でもバッテリー残量でも、Glaejaで表示できるものなら何でもOKです。
これで「$ss$@0/1/d@」が0のときだけ表示するテキストが出来ました。
これを1から5までのときも同様に設置します。(つまり、マッチテキストを6枚もしくはそれ以上。)
完成
これでランダムに画像とそれに対応したテキストが表示できました。今回の場合はGlaejaの描画更新がかかるたびに6種類の組み合わせから1つが表示されます。
全パターンはこんな感じになってます。
例のごとく、スキンを以下に置いています。画像は入っていませんが。
http://ux.getuploader.com/orefolder/download/52/doll.skin
こんなのも作れます、みたいな。