携帯Flashの作製方法 時間で変わるFlashを作ろう

今回は時間で表示内容を変える携帯Flashを作りませう。朝、昼、夕方、夜とかで変わる感じでっす。

携帯Flashで時間によって表示を変えるには、ActionScriptで時間を取得して、if文で「○時〜○時だったらこのフレームに飛んでね」と命令してあげればいいだけです。凄く簡単です。

まずは時間によって変えるムービークリップやらグラフィックやらをその変えたい分だけ用意します。今回の例だと「朝」「昼」「夕方」「夜」の4つですね。 そしたらそれを3フレーム目以降に配置してあげます。

そして新しくレイヤーを作って、毎度のごとく「action」とかいう名前にしてみましょう。そしたらそのレイヤーの2フレーム目にフレームアクションとして…

08-1
/* ----時間の取得と飛び先---- */
stop();
m = fscommand2("GetTimeHours");
if (6<=m and m<=10) {
gotoAndStop(3);
break;
} else if (11<=m and m<=15) {
gotoAndStop(4);
break;
} else if (16<=m and m<=18) {
gotoAndStop(5);
break;
} else {
gotoAndStop(6);
break;
} 

のスクリプトが入ります

fscommand2で現在の時間を取得して、それを「m」に代入。mの値が6(時)〜10(時)だった場合は3フレーム目に、11〜15だったら4フレーム目、16〜18だったら5フレーム目、 それ意外だった場合は6フレーム目に飛ぶようにします。

これで完成です。ほんと簡単ですね。

もし「この時間だけ(お昼の12時とか)表示させたい!」って場合は、if文の()内を

if (m = 12) {
gotoAndStop(○);

にしてあげれば大丈夫です。○には飛ばしたいフレーム先の番号を入れてあげてください。今回の例だと、11〜15時という時間指定の中に「12時」も含まれてしまっていますので…、

/* ----時間の取得と飛び先---- */
stop();
m = fscommand2("GetTimeHours");
if (6<=m and m<=10) {
gotoAndStop(3);
break;
} else if (m = 11) {
gotoAndStop(4);
break;
} else if (13<=m and m<=15) {
gotoAndStop(4);
break;
} else if (16<=m and m<=18) {
gotoAndStop(5);
break;
} else if (m = 12) {
gotoAndStop(7);
break;
} else {
gotoAndStop(6);
break;
} 

と書いてあげる必要があります。

今回作製したflaファイル