• 締切済み

FLASHで20分のカウントダウンタイマーを作りたいのですが。。。

はじめて投稿します。 FLASHで20分のカウントダウンタイマーを作りたいのですが、うまくいかずに悩んでいます。。。 20分後にTIMEOVER!の文字も表示したいのです。。 何かヒントでも頂ければ、うれしいです。宜しくお願いいたします。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

20分のカウントダウン自体は,目標の時間から,経過時間を引けば良いだけですから, 経過時間の算出さえできれば簡単だとは思います。 目標時間が 10秒だとすると,  表示時間 = 目標時間-経過時間  表示時間 = 10-1 (= 9)  表示時間 = 10-2 (= 8)  表示時間 = 10-3 (= 7)  表示時間 = 10-4 (= 6)  表示時間 = 10-5 (= 5)  表示時間 = 10-6 (= 4)  表示時間 = 10-7 (= 3)  表示時間 = 10-8 (= 2)  表示時間 = 10-9 (= 1)  表示時間 = 10-10 (= "TIMEOVER!") ということです。 でもしかし,問題なのは 「カウントダウン自体」 ではなく 「その表示のさせ方」 だと思います。 どのような感じで表示させようと考えていらっしゃるのでしょうか? 例えば 「カウントダウン数をミリ秒単位に表示させる。」 「カウントダウン数を単位に表示させる。」 「カウントダウン数を分+秒単位に表示させる。」  … など … など … また表示させるルールも問題です。 「Flash が表示されてからのカウントダウン」 「ボタンがクリックされてからのカウントダウン」 「カウントダウンする秒数は閲覧者が決める」 「カウントダウンする秒数は作成者が決める」  … など … など … 最初に書きました通り,カウントダウン数は単純に「目標時間-経過時間」で引き算してください。 それ以外の部分によってそれ以外の答えは変わりますし, 考えるポイント,つまり難しい点も,それ以外の部分が大半になるはずです。 ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ というわけでたくさんのものを回答できませんので,一例のみを回答いたします。 まず,ステージ上に,ボーダー(周囲の枠線)付きの横長めのダイナミックテキストを作成します。 また,ダイナミックテキストのインスタンス名を 「TM」 としたことにしておきます。 そのインスタンス名 「TM」 のダイナミックテキストをムービークリップに変換します。 そのムービークリップ自体に次のように書きます。 // このムービークリップが表示されたとき onClipEvent (load) { // カウントダウン数の設定 (※1) //( 20分(20×60×1000ミリ秒) ) cnt = 20*60*1000; // _root のフラグ用変数 cnt_flg を false にしておく _root.cnt_flg = false; } // 毎フレーム時間で随時実行 onClipEvent (enterFrame) { // _root の変数 cnt_flg が true であれば if (_root.cnt_flg) { // カウントダウン数を変数 ms に代入(ミリ秒) (※2) ms = cnt-(getTimer()-_root.my_time); // 分の算出 m = Math.floor(ms/60/1000); // 秒の算出 s = Math.floor(ms/1000)-m*60; // カウントダウン数を TM に表示 if (ms>=0) { this.TM.text = "あと "+m+"分 "+s+"秒"; } else { this.TM.text = "TIMEOVER!"; } } } // このムービークリップをクリックしたとき (※3) on (release) { // _root の変数 flg が false であれば if (!_root.cnt_flg) { _root.cnt_flg = true; // _root の変数 my_time に時間を代入 _root.my_time = getTimer(); } } これで,「テキストフィールド入りムービークリップをクリックしたとき」, カウントダウン表示が始まるものができます。 ※1 の部分について  一応20分にしています。  20分は 20×60=1200秒  1200秒は 1200×1000=1200000ミリ秒です。  その計算自体が面倒なので,  20*60*1000 と記入しています。  動作検証に 20分 もかけるのはいやだと思いますから,  cnt = 1*60*1000; //←1分  とか  cnt = 30*1000; //←30秒  くらいで実験すると良いと思います。 ※2 の部分について  本題はこの ※2 の行   ms = cnt-(getTimer()-_root.my_time);  これだけです。  それ以外の大半の部分は,   「テキストフィールドをクリックした時にカウントダウン開始,   『あと ○分 ○秒』 という形のものを表示させる。」  というしくみを作成しているだけで,  カウントダウン自体 とは関係がありません。 ※3 の部分について  on (release) { } はムービークリップに書いています。  他のボタンをクリックしたときにカウントダウンを開始させる場合,  この on (release) { } 文全てをそのボタンに移動させてください。  わざと _root の変数によって動作するしくみにしてありますから,  どこに(どの階層に)ボタンやカウントダウンムービークリップを  持って行っても,おそらくそのまま使用できると思います。 また, お持ちのFlashのバージョンを書かれていませんので説明のしかたも良くわかりません。 バージョンがわからないので本当は Flash 5 でも作成可能なスクリプトやしくみを書きたかったのですが, Flash 5 では作成するものの構造説明がさらにややこしくなるため Flash MX 以上で作成可能なものにさせていただきました。 当たり前のことなのですが, 使用するバージョンが古いほど不可能なことが多くなるので, 同じものを作るにしても作成するスクリプトや構造が難しくなりますし,いくら努力しても不可能なことも出てきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB カウントダウンタイマーの作り方

    1か月前からVBの勉強を始めたものです。 下記のように、カウントダウンタイマーを作成したいですが やり方がわからないです。 1 From構成:   textBox1(時刻指定用),label1(カウントダウン表示用)、Button1(スタート用) 2 使用:   textBox1に "**:**"形で指定したい時間と分を入力して、Button1を押したら、label1内に今の時刻からのカウントダウンタイマーを表示される 3 カウントダウンが0になったら、何とかの形で知らせてくれる。  msgboxでもかまいません。 ネットでも調べましたが、自分のニーズに合わせるものを見つかりませんでした。~@~ どうぞ、よろしくお願い致します。

  • こんなカウントダウンタイマーはありますか?

    以下のようなことがかなえられるカウントダウンタイマー(耳かけタイプ、据え置きタイプ、PC用ソフトウェア)を探しています。 ・20分、10分、20分、10分…と決めた時間ごとにお知らせしてくれる。 ・連続でリピートしてほしい。 もし、ご存じでしたら、情報を教えていただけたら幸いです。 一番嬉しいのは耳かけタイプです♪ どうぞよろしくお願いいたします。

  • カウントダウンタイマーでのタイマーの表示方法

    VBを始めたばかりなです。 プログラムで-していく、カウントダウンタイマーを作成したのですが、1:30と設定すると90秒表示となり、どうしても01:30という分と秒の表示が出来ません。 カウントされる数字が、何分何秒という表示にさせる方法を教えて下さい 表示のプログラムは以下の通りです。 hyouji.Text = Format(waitsecond, "##:##") ※hyouji.textはタイマーを表示させる部分の名前です。

  • カウントダウンパーティー用のタイマーについて・・・

    カウントダウンパーティーで、PCを使ったタイマーをプロジェクターで表示させたいのですが、なにか良いフリーソフトなどはありますか?

  • カウントダウンタイマーについて

    FlashCS3を使用しております。 日時(3時間20分50秒等)のカウントダウンタイマーを作成したいのですが、 下記の質問に返答されている、空のムービークリップの作成の仕方、 又、カウント終了後に「終了」画像等の表示の仕方が分かりません。 もし、ご存知になられる方がいましたら、ご教授頂ければ幸いです。 宜しくお願いします。 http://okwave.jp/qa1192628.html

    • ベストアンサー
    • Flash
  • PCを落としても動き続けるカウントダウンタイマー

      作業用にキッチンタイマー風のカウントダウンタイマーを色々探してみたのですが 数が多いのと、私が試してみたものは大体、起動しっぱなしでないと使えなかった為 質問させてください。 アプリケーションに依存するタイマーなのではなく、windowsの時計に依存して パソコンを閉じた後もカウントダウンし続けるタイマーを探しています。 仮に3日後、72時間後を指定してPCをシャットダウンし、1日まるまる起動しなかったとしても、 次に立ち上げた時には48時間からカウントダウンし続けてくれているようなものです。 ------------------- 必須  ・windowsで使えるフリーソフト(場合によってはシェアウェアソフトも視野に)  ・アプリケーションではなくwindowsに依存してカウントダウンを続ける 出来れば  ・複数のタイマーを設定できる  ・大きすぎず、作業の邪魔にならないサイズである  ・設定が容易である(可能であれば日本語) ------------------- こんなところです。 ご存知の方がいらっしゃいましたら、是非知識を貸してください。よろしくお願いします。

  • カウントダウンタイマー

    情報商材用のホムペで、後何日でみたいなカウントダウンタイマーとか付いてるのありますよね? あれってどうしたら良いんですかね? ネットで検索すると、ブログとかに付けるタグとかはあるんですが、 ホームページビルダーで作ってる場合どうしたら良いのでしょうか? 分かる方宜しくお願いしますm(_ _)m

  • スマフォアプリでカウントダウンタイマーは?

    よろしくお願いします。 スマフォ(android)のアプリで、カウントダウンをしてくれるアプリを探しています。 カードゲームやボードゲームをするときに、一人の持ち時間を、たとえば10秒と決めてやるときに、カウントダウンしてくれるアプリがあると便利なのですが・・・。 そして、順番が終わった時にボタンを押すと、次の人の10秒がまたカウントダウンされる、、、という感じのものがないでしょうか。 将棋の対局時計のように、一人の持ち時間を何分と決めてそのカウントダウンという機能もあるとうれしいですが(複数人対応で)・・・。 とりあえず、単純に設定した秒数がカウントダウンされていってそれが連続するようなタイマーがあるとうれしいです。 説明が下手ですみませんが、よろしくお願いします。

  • PC画面上にカウントダウンタイマーを表示したい。

    PC画面上にカウントダウンタイマー(キッチンタイマーみたいなの)を表示させたいのですが、そんな方法ありますでしょうか? 用途としては、PCでの仕事が多いのですが、時間を計りながらてきぱきとこなしたいためです。

  • 時間指定のカウントダウンタイマーを探しています。

    フリーソフトを探しています。 ベクターでも探してみましたが、関連ソフトが膨大でへこたれてしまいました。 探しているのは以下のようなものです。 カウントダウン・タイマー ただし、指定した時間量をカウントするタイプではありません。 えっと、例えば3分をカウントダウンするものはたくさんありましたが、そういうのではないのです。 例えば、8時30分に家を出なければいけないとします。 その場合、8時30分を設定して、その時間まで「あと5分です」「あと3分です」ということを知りたいのです。 もしそのようなソフトをご存知の方がいらっしゃれば、よろしくお願いします。