携帯Flashの作製方法 時計の表示を工夫してみよう

携帯Flashで時間を表示させるのはもうばっちりだとは思いますが、毎回毎回時間が時間を見るときに24時間表記なのもなんだかなぁと思ってしまったそこのキミ! まあそうだよね。友達と待ち合わせる時に「じゃあ15時半に駅前で」とか言わないよね。昼の3時とか言うよね、普通なら。

ってな訳で、時間の表記を12時間表記にして、AM、PMと表示される携帯Flashにしてみましょう。

やることは単純、これまで通りシーン1に時間を表示するオブジェクトを2つ配置します。またそれとは別に「AM/PM」表記をさせるオブジェクトを配置しておきます。

06-1

で、これまでと同じように、シーン1のactionレイヤーの1フレーム目にScriptを書きます。

/* ----時間 12時間表示---- */
hours = fscommand2("GetTimeHours");
if (13<=hours and hours<=23) {
h = ("hours" add -12);
}
if (length(hours)==1){
hours='0' add substring(hours,0,1);
} else {
h = hours;
break;
}
hour1.num = substring(hours, 2, 1);
hour2.num = substring(hours, 1, 1);

まず時間を12時間表記にするために、取得した時間が13時〜23時だった場合、そこから12を引いた数を出しそれをそれぞれhour1.numとhour2.numに割り合えてます。それ以外の0〜12時の場合は 、一桁の場合は頭に0を追加する形にしてそのままです。たったこれだけで時間は12時間表記になってしまいます。簡単ですな。

つぎに「ampm」という名前でムービークリップを作ります。このム−ビークリップもこれまでと同じように、一番上のレイヤーには「action」とかつけて全てのフレームをキーフレームにしておきます。 レイヤーを追加して「AMPM」とかいう名前にして、1フレーム目は空白(actionレイヤーにScriptは入ります)、2フレーム目にはAM、3フレーム目にはPMとテキストでも画像でもテキトーに入れておきます。

06-2

あとは時間によって、2フレーム目か3フレーム目かを表示させるようにすれば完成。actionレイヤーの全てのフレームに…

stop();
/* ----AMPM表示---- */
nowhours = fscommand2("GetTimeHours");
if (13<=nowhours and nowhours<=23) {
	gotoAndPlay(3);
break;
}  else {
	gotoAndPlay(2);
break;
}

と書いておけば、13〜23時の時は3フレーム目に、それ以外の場合は2フレーム目に飛ぶようになります。

たったこれだけでもう完成です。時間以外の分、秒などはこれまでのやり方でやってください。

時計の携帯Flashというと大概が24時間表記だったりします。AM/PM表記なんかで作ってあげると相手は喜ぶかもしれません。ついでに恋の予感が芽生えるかも! …私には関係のないことなんで、 芽生えなくっても全然イイんですが。

今回作製したflaファイル