• ベストアンサー

Flash時計【デジタルとアナログ】

こんにちは♪最近Flashを使い始めたばかりなんですが、 ●Flashの時計で、デジタルとアナログを統合することは可能でしょうか? もし良かったら、そのスクリプトがあるサイトを教えてください。 よろしくお願いします!!!

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

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

  • ベストアンサー
noname#35109
noname#35109
回答No.1

単に, アナログ時計とデジタル時計を作って, 同じSWF(FLA)内に配置すれば良いだけだと思いますよ。 注意する点は, インスタンス名などがかぶらないようにすることです。 Flash MX 以上をお持ちでしたら, Flash 新規ドキュメントを作成して, フレーム1 に次の長い長いスクリプトをコピペして, 即ムービープレビュー(もしくはパブリッシュ)してもらうと, ステージ上にアナログ時計とデジタル時計が同時に表示されるものが勝手にできると思います。 // ---アナログ時計部分----------------------- // 表示位置と文字の大きさの設定 // x座標(※可変) var my_x = 100; // y座標(※可変) var my_y = 100; // 時計の文字盤のサイズ(半径)を設定 var watch_size = 80; // 文字の大きさ[point](※可変) var moji_size = 18; // // 空のムービークリップ tokei を深度 1 に作成 _root.createEmptyMovieClip("tokei", 1); _root.tokei._x = my_x; _root.tokei._y = my_y; // // 文字盤の作成 // 文字盤の色指定 _root.tokei.beginFill(0x000000, 100); // 文字盤のフチの指定 _root.tokei.lineStyle(6, 0x999999, 100); _root.tokei.moveTo(Math.sin(0)*watch_size, Math.cos(0)*watch_size); for (var i = Math.PI/100; i<Math.PI*2; i += Math.PI/100) { _root.tokei.lineTo(Math.sin(i)*watch_size, Math.cos(i)*watch_size); } _root.tokei.endFill(); // // 文字盤のフチの光沢の作成 _root.tokei.lineStyle(2, 0xffffff, 60); _root.tokei.moveTo(Math.sin(0)*watch_size-1, Math.cos(0)*watch_size-1); for (var i = Math.PI/100; i<Math.PI*2; i += Math.PI/100) { _root.tokei.lineTo(Math.sin(i)*watch_size-1, Math.cos(i)*watch_size-1); } // // 文字盤の 数字 を作成 for (var i = 1; i<=12; i++) { _root.tokei.createTextField("moji"+i, i, 0, 0, 0, 0); with (_root.tokei["moji"+i]) { autoSize = true; text = i; textColor = 0xcccccc; var format0 = new TextFormat(); format0.size = moji_size; setTextFormat(format0); _x = (watch_size*8/10)*Math.sin(Math.PI*i/6)-(_width/2); _y = -(watch_size*8/10)*Math.cos(Math.PI*i/6)-(_height/2); } } // // 上ロゴの作成 _root.tokei.createTextField("rogo0", 13, 0, -watch_size*68/100, 0, 0); with (_root.tokei.rogo0) { autoSize = true; text = "Sassakun"; textColor = 0xcccccc; format1 = new TextFormat(); format1.size = moji_size*5/10; setTextFormat(format1); _x = -_root.tokei.rogo0._width/2; } // 下ロゴの作成 _root.tokei.createTextField("rogo1", 14, 0, watch_size/2, 0, 0); with (_root.tokei.rogo1) { autoSize = true; text = "QUARTZ?"; textColor = 0x999999; format2 = new TextFormat(); format2.size = moji_size*35/100; setTextFormat(format2); _x = -_root.tokei.rogo1._width/2; } // // 短針の作成 // 時計の中の深度21に"tansin" を作成 _root.tokei.createEmptyMovieClip("tansin", 21); with (_root.tokei.tansin) { beginFill(0x333333, 100); lineStyle(1.5, 0xeeeeee, 100); moveTo(-watch_size/20, watch_size/10); lineTo(-watch_size/25, -watch_size/2); lineTo(0, -watch_size*14/25); lineTo(watch_size/25, -watch_size/2); lineTo(watch_size/20, watch_size/10); endFill(); } // // 長針の作成 // 時計の中の深度22に"tyousin" を作成 _root.tokei.createEmptyMovieClip("tyousin", 22); _root.tokei.tyousin.beginFill(0x333333, 100); with (_root.tokei.tyousin) { lineStyle(1.5, 0xeeeeee, 100); moveTo(-watch_size/25, watch_size/10); lineTo(-watch_size/30, -watch_size*7/10); lineTo(0, -watch_size*8/10); lineTo(watch_size/30, -watch_size*7/10); lineTo(watch_size/25, watch_size/10); endFill(); } // // 秒針の作成 // 時計の中の深度23に"byousin" を作成 _root.tokei.createEmptyMovieClip("byousin", 23); with (_root.tokei.byousin) { lineStyle(1.5, 0xffffff, 100); moveTo(0, watch_size/8); lineTo(0, -watch_size*65/100); } // ↑手動でテキストフィールドを作成する場合は以上不要↑ // // // ★やっと時計の針を動かすスクリプト! // 1フレーム進む時間ごとに毎回実行 _root.tokei.onEnterFrame = function() { // 時刻オブジェクト mydate の作成 var myDate = new Date(); // 時・分・秒の取得 var my_h = myDate.getHours(); var my_m = myDate.getMinutes(); var my_s = myDate.getSeconds(); this.tansin._rotation = (my_h*30)+(my_m/2); this.tyousin._rotation = (my_m*6)+(my_s/10); this.byousin._rotation = my_s*6; }; // // // ---「デジタル時計部分」----------------------- // 表示位置と文字の大きさの設定 // x座標(※可変) var my_x2 = 75; // y座標(※可変) var my_y2 = 190; // 文字の大きさ[point](※可変) var my_size2 = 14; // // 空のムービークリップ tokei2 を 深度 1000 に作成 _root.createEmptyMovieClip("tokei2", 1000); // // テキストフィールド mytime を 深度0 に作成 _root.tokei2.createTextField("mytime", 0, my_x2, my_y2, 0, 0); // テキストフィールド mytime のプロパティを設定 _root.tokei2.mytime.border = true; _root.tokei2.mytime.background = true; _root.tokei2.mytime.autoSize = true; // ↑手動でテキストフィールドを作成する場合は以上不要↑ // // 1フレーム進む時間ごとに毎回実行 _root.tokei2.onEnterFrame = function() { // 時刻オブジェクト mydate の作成 var myDate = new Date(); // 時・分・秒の取得 var my_h = myDate.getHours(); var my_m = myDate.getMinutes(); var my_s = myDate.getSeconds(); // 時・分・秒 を2桁に合わせる処理 if (my_h<=9) { my_h = "0"+my_h2; } if (my_m<=9) { my_m = "0"+my_m; } if (my_s<=9) { my_s = "0"+my_s; } // テキストフィールドに時刻を表示 this.mytime.text = my_h+":"+my_m+":"+my_s; // //↓手動でテキストフィールドを作成する場合は以下不要↓ // テキストフィールド のテキストのフォーマット var format = new TextFormat(); format.size = my_size2; _root.tokei2.mytime.setTextFormat(format); //↑手動でテキストフィールドを作成する場合は以上不要↑ }; /* 作成環境:Flash MX 以上 閲覧環境:Flash Player 6 以上 ActionScript 1.0 */ // ---------------------------------------------- ※ 某所で書いたことがあるものの自己改良版です。 適当にアナログ時計とデジタル時計の2つを合わせただけですし, 文字盤や文字なども わざと全てActionScriptで作成していますから, デザインはイマイチ(イマヒャク)ですよ。 実際に作るときはちゃんと描いた方が良いです。 言いたいことは, 上のActionScript を全て理解しましょうと言うことではなく, 2つの時計を作って配置すれば良いだけでは? ということと, 同じ変数名やインスタンス名がかぶると, うまく動作しないことがあるので, 違うインスタンス名を付けたり, 階層が同じ場合のちがう変数名を付けましょう。 ということです。

yuuki-024
質問者

お礼

ありがとうございます!! なるほど。単純なコトなんですねっ♪ 今試してみたら、デジタルとアナログが統合された時計が出来ました! デザインはこれから考えていきます。 とても参考になりました☆

関連するQ&A

  • フラッシュデジタル世界時計

    はじめまして。 フラッシュで世界のデジタル時計を作りたく作り方やスクリプトの書いてあるところをを探しています。 フラッシュのバージョンはCS3 スクリプト2.0 です。 PC内臓時計をよむのではなく、グリニッジを基準とした時計を作りたくさがしています。 ・JAPAN(東京) ・NEWYORK ・LOSANGELS ・LONDON の4つを表示させたいと思っています。 色々さがしてみたんですが、 いいのがなく質問しました。 よろしくお願いします。

  • 携帯用Flashでアナログ時計の作り方

    こんにちは。はじめてこちらを利用します。 今携帯用Flashに関心があり、勉強中です。 いろいろ書籍を購入して、ようやくデジタルの時計を作れるようになったのですが、今はアナログの時計にチャレンジしていて壁にぶち当たってしまいました。 Flash Lite 1.1で、アナログ時計を詳しく紹介しているサイトなどあれば、ご紹介いただけないでしょうか。 贅沢を言えば、それを実現している.flaファイルがあれば最高なのですが…。 対象キャリアはau、DoCoMo、SoftBankの3キャリアに対応できるとベストなのですが、わたしの携帯がauなので、au向けだけでもかまいません。 宜しくお願いします。

  • 携帯用 アナログ時計 (Flash5使用)

    携帯サイトで、デコメ等の作成をしているものです。 この度、flashでアナログ時計を作成しようと思っているのですが、 持っているソフトは、flash5のみです。 随分前に使っていたのですが、最近また必要なようで flash待受けは、作成したことがある程度のスキルです。 (スクリプトはほとんど経験ないので初心者です) どこのサイトを探しても、バージョンが古くて、flash liteで 作成する方法しか載っていません。 ランダムに変化するアナログ時計と 時間によって変化するアナログ時計を作成予定です。 どなたか、携帯用アナログ時計のスクリプト(flash5での)を 教えてもらえないでしょうか? ちなみに、flashを新規購入する予算はありませんので 新しいバージョンは無理です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • アナログ時計とデジタル時計

    今度英語でディベートをするのですが、テーマがアナログ時計かデジタル時計かで、私はアナログ派なのですが、ネットを検索してもわからず、ここにきました。アナログ時計のメリット、デメリット、デジタル時計のメリット、デメリットを教えてください!

  • デジタル時計とアナログ時計

    時間を瞬時にわかるデジタル時計、今何時を指しているかわかるアナログ時計、両者一長一短ありますがこの時計を2つ備えた時計も既にあるわけですが、私は今デジタル時計、アナログ時計2つを両方つけています。 アイデアとして面白いのですが2個も時計をしているのはどう思いますか?

  • FLASHでデジタル時計作りたい!!

    FLASH MXを使っております。 ボタンやショートムーヴィみたいなのは作れるようになったのですが、今度はFLASHでデジタル時計を作ってホームページにのせたいと思ってるんですが、いくら検索してもFLASHでデジタル時計の作り方がのってるようなページもなくて困っております。 一体あれはどうやって作ってるのでしょうか? またどんな本を読んで、何を学べば作れるようになるのでしょうか? FLASHに詳しい方、教えてください。

  • フラッシュで時計!

    最近フラッシュ5を使って 簡単なムービーを作っています。 まだ簡単なものしかできません・・・ いろいろやってるうちに フラッシュで動くアナログ時計を作りたくなって いろいろHPで調べたのですが 作り方を解説しているサイトが見つからず あきらめかけています。。。 どなたか詳しく解説してあるサイト 知っていたら教えて欲しいのですが・・・ よろしくおねがいします!

  • デジタル時計とアナログ時計

    時計にはデジタル時計とアナログ時計があります。 これの区別の仕方についてなんですが、文字盤だけが判断基準なんでしょうか? たとえば、PCの画面上の(自称?)アナログ時計は、見た目はアナログでも中身はアナログとはいえません。こういうのもアナログ時計といっていいのでしょうか?

  • Flash・携帯の待受時計Flashをつくる

    Flashを独自で勉強しています。 今時計を表示させれるFlashを作成しようと思っているのですが、Pcで表示させるのと同様のデジタル時計を作成し保存しても携帯用に保存はできないようなのです。 いろいろなサイトを見ましたが時計についてはあまり詳しい記載がないのでぜひ教えていただきたいです。 携帯用の待ちうけ時計Flashは特別なアクションスクリプトがあるのでしょうか。。 知ってる方がいらっしゃったらぜひ教えていただきたいです。ヨロシクお願いします。

    • ベストアンサー
    • Flash
  • 時計はアナログ派デジタル派?

    時計はアナログとデジタルどちらですか? 時計と言っても色々あるので 3つの質問に分けました 1 腕時計 2 置時計 3 根本的にどっちが好き? よろしくお願いします。

専門家に質問してみよう