プロが教えるわが家の防犯対策術!

複数のSWFファイルを用意しておき、時刻によってページに読み込まれるファイルを変えたい

A 回答 (1件)

前回のご質問


「複数あるflashをファイルをページの読み込みごとにランダムで再生したい」
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1899394
 ↑教えて!goo  ↓OKWave (同じです)
http://okwave.jp/kotaeru.php3?q=1899394
への回答は読まれましたか?
もう少し条件を書いてくれないと,答えにくいのです。

今回も,
「SWFが貼り付いているHTMLのページを表示したときに,
24時間の時刻によって,24個のSWFを,
Flash5 以上バージョンのスクリプトによって表示させたい。」
と言うことと勝手に解釈します。

まず,「0.swf」~「23.swf」 という24個のSWFを用意します。
「0.swf」~「23.swf」 と同じステージの大きさのドキュメントを作成し,
HTML と同じディレクトリに任意の名前で保存します。

タイムラインの フレーム1 に以下のようなスクリプトを書けば,
パブリッシュしたとき,
その SWF に「0.swf」~「23.swf」が,
時刻によって,例えば6時なら「6.swf」のように読み込まれます。

------------------------------------
//Dateオブジェクトの作成
myDate = new Date();
//時刻の取得(0~24)
myHour = mydate.getHours();
//ムービー内に myHour +".swf" をロード
this.loadMovie(myHour+".swf");
------------------------------------

もし,Flash4以前であれば,
時刻の取得はできないので,
JavaScriptで時刻を取得しておいて,その時刻の変数をFlashに送信し,
JavaScriptから得た時刻によって読み込むSWFを変える必要が出てきます。
しかし,それをするくらいなら,最初からJavaScriptでFlashを表示したほうが早いかもしれません。

また,FlashもJavaScriptも,クライアントサイドのスクリプトで動作します。
時刻はPCの時刻を取得しますので,
PCの時刻がくるっていれば,違う時刻のものが表示されます。
色んな時刻で思い通りのSWFが表示されるかどうかは,
自分のPCの時刻設定を変えれば良いので,楽に動作確認ができます。

PCの時刻で困る場合は,
PHPやPerlなど,サーバーサイドのプログラムで時刻を取得し,
その時刻の変数をFlash側に送る方法も考えられます。
ただし,サーバーの時刻が日本時間でなかったりする場合も多々あるので,
実際にやってみないとわからないと思います。

PHPやJavaScriptの質問であれば,そちらのカテゴリで質問される方が良い回答が得られる気がします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!