- 締切済み
時間と連動させたい
いま、どうしてもFlashを使わなくてはならなくて困っています。 常にPCの時間を取得監視しつつ、x時x分x秒になった時にxxを実行させるという物を作りたんですが、どうしたらいいですか。 例えば、15時59分にFlashを開いたとして、16時になったときに外部ファイル(swf)などを読み込んだり、 他のURLに飛ぶようにしたんです。 こんな感じにやってはみたんですが、 指定時間になってwindowは開くんですけど、たくさんwindowが開いてしまいます。 よろしくお願いします。 addEventListener(Event.ENTER_FRAME,timenow); function timenow(event:Event){ var time:Date; time = new Date(); var hour:Number = time.getHours(); var min:Number = time.getMinutes(); var sec:Number = time.getSeconds(); if(hour==16 && min==00 && sec==00){ navigateToURL(new URLRequest("xxx"), "_blank"); } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
考えれば考えるほど方法は色々と出てくると思いますが, 次のような感じにしても良いと思います。 -------------------------------------------------- addEventListener(Event.ENTER_FRAME,timenow); // 古い秒の宣言 var old_sec:int; function timenow(event:Event) { var time:Date; time = new Date(); var hour:int=time.getHours(); var min:int=time.getMinutes(); var sec:int=time.getSeconds(); // 時が16 で 分が0 で 秒が0 で 古い秒が今の秒でないとき if (hour==16&&min==0&&sec==0&&old_sec!=sec) { navigateToURL(new URLRequest("xxx"), "_blank"); } // 今の秒を古い秒に保存 old_sec=sec; } -------------------------------------------------- ちなみに 分や秒は 00 ではなくて 0 ですよ。 00 だと 8進数 の 0 という意味になると思います。 この場合はどちらでも結局 0 ですから動作に問題はありませんが, 05 などとした場合,意味が変わります。
お礼
ありがとうございました。 おかげでできました。