• ベストアンサー

ActionScript3で丸数字のカウントダウン

ActionScript3.0で映画などでよく見かける 3 → 2 → 1 などが丸数字で 丸の円の部分がぐるっと一周して動くようなカウントダウンをしたいのですが、 どなたか具体的な方法、もしくはサンプルなどが記載されているページなど ご存知でしたら、教えて頂けないでしょうか。 よろしくお願い致します

  • Flash
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

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

#1です。 Actionscript で不可能というわけではありませんよ。 例えば Flash の(Flex の場合は知りません) ドキュメントクラスのクラスファイルのスクリプトでしたら 次のような感じで近いような(遠いような)ものはできます。 「CountDown.as」 //--------------------------------------- package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.LineScaleMode; import flash.display.CapsStyle; import flash.display.JointStyle; import flash.events.Event; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; public class CountDown extends MovieClip { //カウント数の設定 var cnt:int = 3; //中心点の設定(一応ステージ中央) var c_x:Number = stage.stageWidth / 2; var c_y:Number = stage.stageHeight / 2; //円の半径の設定 var c_r:Number = 100; //フレームレートの設定 var fr:int = 20; // var i:int = 0; // var circle:Sprite; var cnt_txt:TextField; var txt_fmt:TextFormat; // public function CountDown() { // circle = new Sprite(); circle.x = c_x; circle.y = c_y; this.addChild(circle); // cnt_txt = new TextField(); cnt_txt.autoSize = TextFieldAutoSize.LEFT; this.addChild(cnt_txt); // txt_fmt = new TextFormat(); // this.addEventListener(Event.ENTER_FRAME,makeCircle); } public function makeCircle(evt:Event):void { if (i == 0) { circle.graphics.clear(); circle.graphics.lineStyle(15, 0xCCCCCC, 1, false, LineScaleMode.VERTICAL,CapsStyle.NONE, JointStyle.ROUND); circle.graphics.moveTo(c_r*Math.sin(2*Math.PI/fr*i) , -c_r*Math.cos(2*Math.PI/fr*i)); // cnt_txt.text = cnt.toString(); txt_fmt.color = 0xCCCCCC; txt_fmt.size = 60; cnt_txt.setTextFormat(txt_fmt); cnt_txt.x = c_x - cnt_txt.width / 2; cnt_txt.y = c_y - cnt_txt.height / 2; } else { circle.graphics.lineTo(c_r*Math.sin(2*Math.PI/fr*i) , -c_r*Math.cos(2*Math.PI/fr*i)); } // if (i < fr) { i++; } else { cnt--; if (cnt == 0) { this.removeChild(circle); this.removeChild(cnt_txt); this.removeEventListener(Event.ENTER_FRAME,makeCircle); } i = 0; } } } } //--------------------------------------- しかし,,, こんなチャチで薄っぺらなものを時間かけて考えて作るよりも タイムラインアニメーションで作った方が もっと風情のあるものがもっと簡単にできますよ。 さらに質を高めるスクリプトをゴチャゴチャ考えたり進むよりも タイムラインアニメーションの SWF または FLV を作るなどして(#1で書いたサンプルを自分の良いように作り替えるなどして), Flash Builder 製の SWF 内にロードする方が現実的で良いと思います。 ロードすると言うのは SWF を loader.load でロードするとか FLV を FLVPlayback にロードするとかいう意味です。 ※ちなみに私は Flex のことは全く知りません。   何ができて,何ができないかもわかりません。   loader.load の件などは Flash の感覚で書いてます。    

ekekojr
質問者

お礼

大変良くわかるご説明ありがとうございました。 スクリプトでの描画とFALSHのロード両方を試してみて、 FLEXと連携する必要のないアニメーションはFALSHで作成した方が FLEXのソース管理的にもラクということが良くわかりました。 ありがとうございました。

その他の回答 (1)

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

"ActionScript3.0で" つまり "スクリプトで" と書かれている意味がわかりません(意図が理解し難いです)。 スクリプトではなく, 普通にそういう風なアニメーションを作れば良いだけではないでしょうか? もしスクリプトで作成(?)するにしても, 普通に作れなければスクリプトも何もないと思いますし。   その「普通に作る」例です。 私が知っている中では 次↓のようなサンプルがあります。 「ビデオ後アニメーション(FlashMX2004(ActionScript2.0))」 http://suzupara.iinaa.net/mixi/video_anime/ 上記の本来は全く別件のためのサンプルですが 上記ページでDLできる「video_anime.zip」を解凍すれば出てくる 「omake」フォルダ内に「count_down.fla」という FLA ファイルがあって その FLA ファイルが カウントダウン する FLV の作成元のサンプルになっています。 「count_down.fla」は かなり古い Flash(Flash 4 (CS4 ではない普通の 4)) で作られた FLAファイル のようで 私の Flash CS4 では「予期せぬファイル形式です」が出ますが http://www.adobe.com/jp/support/flash/downloads.html ココ↑でアップデート済みの Flash CS5.5 では「count_down.fla」を開くことはできました。 無事に開けるとよろしいですが(=開けない場合は知りません)。

ekekojr
質問者

補足

サンプルありがとうございます。Flash CS5で開きました。 言葉足らずで申し訳ありません。当方Flexですので、 まさにこれをActionScriptで作りたいと思った次第です。 graphics.drawCircleメソッドで円を書くことができると思いますが、 アニメーションのように描画するのであればtimerやinterval を使わないとできないものなのかが、知りたいと思いました。 エフェクトのようにdurationプロパティを指定して、 描画できるようなことは(クラスなど)できないものなのでしょうか?

関連するQ&A

  • ActionScript3.0でのカウントダウン

    現在Flashサイトを制作中の者です。 ActionScript3.0についてわからなくなってしまい困っています。 私のレベル:Flashを始めたばかりの初心者です。 使用環境:AdobeFlashCS5、ActionScript3.0 やりたいこと:”開催まであと○○日○○時間○○分○○秒です。”と表示するカウントダウンflashを作りたい。 辞典や入門書やウェブサイトを私なりに何日もかけて探しつくしました。 本では現在時刻や経過時間などを表示するAS3しか見つけられず、 またウェブサイトでは私の調べ方が悪いのでしょうが、 AS2のものしか見つけられませんでした。 何日も考えているのですが、どうしても自分1人では解決できず、 最後の頼みと思ってこちらでお知恵をお借りしたく質問させて頂きました。 こうした内容の本か、コードやサンプルがあるサイトを ご存知でしたらご教授いただけないでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • FLASH上で日数カウントダウン

    あるイベント開催日までの「あと○○日」というカウントダウン表示を自動でFALSH上で行いたいのですが、 色々調べてみても、その日の日付を表示させる方法しか見つけることができませんでした・・。 例えばここなどですが、 http://www.okweb.ne.jp/kotaeru.php3?q=805707 ↑ここのスクリプトをどうにか変えれば良いのかなとも思ったのですがよく分からなかった次第です。 どなたか具体的な方法、もしくはサンプルなどが記載されているページなどご存知ないでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Flash
  • くり抜き型の丸数字の作り方を教えてください。

    はじめまして。 基本的なことかもしれないのですが、タイトルにあるようなくり抜きがたの丸数字の作り方を教えていただけないでしょうか? 丸の中部分に色がついて、数字の部分が白抜き担っている状態の者です。 丸と数字を作って2つを配置していくしかないのでしょうか? それとも、なにか簡単に作れる方法はありますでしょうか? どうかよろしくお願いいたします。

  • カウントダウン 毎日画像きりかえ

    はじめまして。 どなたかお詳しい方に教えていただけると幸いです。 以前にこちらで解決したカウントダウンFlashをベースにしましてバナーを作りたいと思っています。 http://okwave.jp/qa3235612.html そして、開催日の5日前から毎日違う画像を表示させたいのです。 カウントダウンし、当日違う画像をみせるところまではできたのですが、 1日たつごとに違う画像をみせるにはどのように設定したらよいのでしょうか。 どなたか具体的な方法や、 サンプルなどが記載されているページなどをご存じの方がいらっしゃいましたらご教示ください。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • WORD ○の中に数字

     WORD2000です。  1~20の数字ではドロップダウンリスト?に出てくるので○の中に数字を入れることができるのですが、21以降の数字についてはできません。何か設定方法があるのだとは思うのですが、わかりません。  ご存知の方、よろしくお願いします。

  • Actionscriptで簡単な換算表を作りたいのですが

    ある単位を別の単位に換算するプログラムを作ろうと思っているのですが、 ActionScriptを何処にどう記述すればいいのかが分かりません。 具体的な仕組みとしては、 「□ヤード」の□部分(テキスト入力)に数字を入力し「換算」ボタンを押すと、 「■メートル」の■部分(ダイナミックテキスト)に換算された数値が表示される、 というものが作りたいのです。 1ヤードが何メートルか、ということや、変数を利用するということ・ボタンに「on (release) {}」を記述するということまでは分かっています。 自分なりにも、Actionscript関係のHPを見て調べようとしたのですが、残念ながら見つからなかった次第です。 御教授のほど宜しくお願い致します。

    • ベストアンサー
    • Flash
  • 一太郎で丸数字?

    Win XPです。 一太郎11(ATOK14)で文書を作成する際、 丸数字、というのでしょうか、(1)や(2)などの記号(すみません、これらの文字は「機種依存」だとかいうことで、括弧に変換されて表示されてしまいました。実際には、アラビア数字を完全に○で囲んだ記号を求めています。)は、クリックパレットでも(20)までしかないのですが、これ以上の数字(30くらいまで)を出す方法はないのでしょうか?? 外字作成などの複雑な手順でなく、どこからか引用できないものかと思います。 よろしくお願い致しますm(_ _)m

  • ActionScript3で乱数を取得しなおかつ隣とかぶらない

    ActionScript3で乱数を取得しなおかつ隣とかぶらない 質問ですActionScript3で乱数を取得しなおかつ隣とかぶらないソースをコーディングしているのですが、うまいやり方が見つからず困っています。 いまサンプルとして以下の画像のように2つのテキストエリアとボタンを置いてあります。 それぞれボタンを押すとボタン1ならテキスト1に1~10の数字がランダムにしかも前回と同じ数字がでないように表示されます。ここまでならできるのですが問題は例えばテキスト1に3がでていたらテキスト2には3以外でなおかつ前回と同じ数字がでないようにしたいのです。 何か良い方法はないでようか? ■制作環境:ActionScript3 Flash CS4

    • ベストアンサー
    • Flash
  • 丸の中に数字が入った記号について

    WIN2000とIME2000を使っています。 丸の中に数字が入った記号で21以降を 入力する方法はありますでしょうか? よろしくお願い致します。

  • After Effectでカウントダウンはどう作りますか?

    Premiereでカウントダウンマークを試したのですが、 自分で5,4,3,2,1のカウントダウンを作りたいと思います。 調べるとAfter Effectでできるみたいでした。 Premiereと同じような、数字の周りに円があって、 色が変わるもはどのように作るのでしょうか? 解説サイトとかありましたら教えていただきたいので よろしくお願します!

専門家に質問してみよう