PR

時計待ち受けを作ろう!

2008年10月15日(水)
古本 光司

時間の取得

 今回のサンプルのスクリプトは、ステージ外の左上に配置してある空のムービークリップの1フレーム目にすべて記述しています。

 まず、Flash Liteで時間と日付を取得する場合、「fscommand2()」という関数を使用します。これは、Flash Liteプレーヤーや携帯端末、デバイスなどと通信できる関数です。fscommand2("コマンド")のコマンドによってさまざまな情報を取得できるようになります。

 時間の場合、「時」「分」「秒」と構成させており、それぞれ「GetTimeHours」「GetTimeMinutes」「GetTimeSeconds」コマンドを使用すれば、時間の情報を取得することができます。

Hours = fscommand2("GetTimeHours"); // 時
Minutes = fscommand2("GetTimeMinutes"); // 分
Seconds = fscommand2("GetTimeSeconds"); // 秒

 上記のようなスクリプトとなり、「Hours」「Minutes」「Seconds」にその時の時間の数値が代入されます。取得した時間情報は10未満の場合、1けたの数値となってしまうので、表記を統一させるために、2けたの表示に合わせていきます。

Hours = (Hours Minutes = (Minutes Seconds = (Seconds
 ここでポイントなのが、文字の連結を行う場合は「+」ではなく「add」を使用する必要があります。

 これで、「時」「分」「秒」の数値が用意できたので、あとは「00:00:00」のような表示をさせていくことになります。現在、空のムービークリップ内で処理を行っているため、1つ上の階層の変数に時計の表示テキストを代入していくのですが、今回は絶対パスで表記していきます。

_root.timeTxt = Hours add ":" add Minutes add ":" add Seconds;

 これで最初にステージに配置したテキストの変数と同期し、ダイナミックテキストに時間が表示されます。

 また、サンプルでは「Impact」というフォントを使用しています。フォントが無い場合はうまく表示されないため、ほかのフォントなどに変更して試していただければと思います。

日付の取得

 時間の取得と同様に、基本的には日付も同じような処理を行っていきます。

today = fscommand2("GetDateDay"); // 日
thisMonth = fscommand2("GetDateMonth"); // 月
thisYear = fscommand2("GetDateYear"); // 年

 年は4けたの数値が返ってくるので良いのですが、月と日に関しては、時間と同様に10未満の数値だと1けたになってしまうため、2けたに調整する処理を行います。

weekday = fscommand2("GetDateWeekday"); // 曜日

 注意点として、曜日に関しては、0-6の数値が返ってくることになります(0:日/1:月/2:火…)。

 そのため配列などを用いて処理を行うのが最も理想的ではありますが、Flash Lite 1.1では配列が用意されていないため、eval()関数を用いて仮想的な配列処理を行っていきます。

wd0 = " [SUN]"//日
wd1 = " [MON]"//月
wd2 = " [TUE]"//火

 上記のように「wd」+「数値」という変数名をつけ、曜日ごとに表示させるテキストを設定しておき、日付表示の変数「dateTxt」に代入する時に「eval("wd" add weekday)」という感じで記述していきます。

_root.dateTxt = thisYear add "-" add thisMonth add "-" add today add eval("wd" add weekday);

 これで最もシンプルなデジタル時計が完成しました。

 次に、アレンジを加えてアナログ時計にしてみたいと思います。

株式会社24-7

Webディレクター/Flashクリエイター。1995年に初めてインターネットの世界に触れ、1999年に独学で個人サイトの運営を始める。その後、本格的にWeb業界へと転身し、クリエイター、ディレクター、プランナー、講師業務、セミナーなど幅広く従事。また、個人的にもパブリッシャーとして活動中。より効果の高いWebの活用術を日々勉強中。『いざ高みへ!』1ka2ka.com:http://1ka2ka.com/ 株式会社24-7:http://www.24-7.co.jp/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

時計待ち受けを作ろう! | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。