FLASH Tips No.3
FLASH デジタルクロック(Flash Ver4用)
FLA生ファイル(Winで作成) time_sample3.fla(45KB)
LZH圧縮(fla,swf,htm) time_sample3.lzh(12KB)
ZIP圧縮(fla,swf,htm) time_sample3.zip(13KB)
(上記ファイルはFLASH-4で作成しています。)
注意!このサンプルはNN,NCの場合JAVAが起動しますので
表示までに多少時間がかかります。
尚、Mac版のIE5の一部では動作しません。
【 処理の流れ 】
Java scriptの「formClock()」を onLoadにより呼び出して formMyClockのmyClockへ表示
↓
FLASH-5フレーム目の「Get URL ("Javascript:pass();")」で Javascript のpass()を呼び出し
変数「time」へ時間の文字列を読み込み
↓
FLASH-6フレーム目のラベル「time_init」で文字列を分解し総秒数へ変換、さらに
FLASH内のタイマーと比較し差を「def_time」としています。
↓
7フレーム目、ネットスケープでJavaが起動されている間、時間取得が出来ないので
取得できたかどうかをチェック
↓
8フレーム目のラベル「time_cvt」からがループの始まり。
タイマーとdef_timeとの差から現時間「temp」を算出。
↓
9フレーム目のラベル「time_to_hms」で総秒を時、分、秒に分解。
テキストフィールド「clock」へ時間表示。
↓
10フレーム目のラベル「disp_cvt」でデジタル表示用に各時間数を10の桁と1の桁に分解
↓
11フレーム目のラベル「degi_disp」でデジタル文字のムービークリップへtell targetで呼び出し。
シーン上のデジタル文字のインスタンスを各 h1,h2,m1,m2,s1,s2としてそれぞれ表示しています。
↓
12フレーム目のアクション「Go to and Play ("time_cvt")」でループの開始地点へ移行
全体に多少のタイムラグがありますが、時間修正のルーチンを含めなくても充分追従するようです。
このスクリプトを拡張すれば針式のアナログクロックにも応用出来ます。
【 FLASH 5 や MX以降のバージョンでは 】
FLASHのバージョン5以降では時間の取得関数がサポートされていますので、ここでのサンプルのように
JavaScriptとの連携など、面倒な処理は必要ありません。過去のバージョンではこういった面倒くさく、OSや
ブラウザに依存して処理が不確実な面も併せ持っていました。今思えばずいぶんと懐かしいです。(^_^)
最近は、このページの上部バナー下にあるデジタル時計の様なものも簡単に出来るようになりました。(MXで作成)
Copyright©1998-2022 Hiyoko3 & JR6BIJ All rights reserved