• ベストアンサー

再生されるFlashを時間によって変えたい。

現在、クライアントからホームページを見た時間によって、表示されるFlashもしくはjQueryを制作しないうてはなりません。 実際には、午前6時から午後18時までは昼の写真をスライド再生させ、午後18時から午前6時までは夜の写真を再生させるFlash or jQueryが作りたいのですが何か良い方法はないでしょうか? Flashの場合、ActionScriptは2.0を使用します。 利用ソフトはFlash8です。 何か良い方法があればお力をおかしください。よろしくお願いします。

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

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

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

#2ですが。。。 > 常に時間を監視して表示に反映させる場合、 > はどうしたら良いのでしょうか? ですから... 回答を読まれていらっしゃらないのでしょうか? 「どのような方法で表示させるのか」という内容を 具体的に提示されないと具体的な回答はできないのです! って。。。 場合によってムービーを作る構造やスクリプトや説明も全て変わるのですよ。 らちが明かないので #2で書いた ○表示方法例1  午前6時から午後18時までは,  メインタイムラインの2~201を(ループ?)再生させ  午後18時から午前6時までは,  メインタイムラインの202~401を(ループ?)再生させる。 の方法ですると私が勝手に決めて良いのでしょうか? 勝手にそういうことにします。     まず メインタイムラインの フレーム1 のみのキーフレームには 例えば「Now Loading...」という文字を打ちます。 (いきなりロードされていないフレームにジャンプすることはできないので。) そして メインタイムラインの フレーム1 のキーフレーム に次のように書きます。 //---------------------------------------- //再生停止 stop(); //関数「divergenceFunc」の定義 function divergenceFunc():Void { //現在のDateインスタンスを作成 var now_date:Date = new Date(); //時刻を取得 var now_hour:Number = now_date.getHours(); //もし時刻が6以上18未満(17以下)であれば if (now_hour>=6 && now_hour<18) { //フレーム2 から再生 gotoAndPlay(2); } else { //フレーム202 から再生 gotoAndPlay(202); } } //毎フレーム実行するメソッドを定義 this.onEnterFrame = function() { //もしこのFlashが全てロードされたら if (this.getBytesLoaded()>=this.getBytesTotal()) { //この毎フレーム実行するメソッドを削除 delete this.onEnterFrame; //関数「divergenceFunc」を実行 divergenceFunc(); } }; //---------------------------------------- そして, 午前6時から午後18時までに表示させる最終フレームである メインタイムラインの フレーム201 にキーフレームを作って その キーフレーム に次のように書きます。 //--------------------------------- //関数「divergenceFunc」を実行 divergenceFunc(); //--------------------------------- また, 午後18時から午前6時までに表示させる最終フレームである メインタイムラインの フレーム401 にキーフレームを作って その キーフレーム に上と同じく次のように書きます。 //--------------------------------- //関数「divergenceFunc」を実行 divergenceFunc(); //--------------------------------- これが具体的な1つの方法例です。 なお メインタイムラインのフレーム1の「Now Loading...」は 極々簡易的に「ロード中」を示しているだけです。 インジケータが動くような演出をしたい場合は 適当にその辺を検索してみてください。 Google検索「Flash NowLoading」 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=Flash+NowLoading

Kenta57
質問者

お礼

BlurFiltanさん 補足に不十分な点があったにもかかわらず、きちんと説明頂きありがとうございます。 感謝しています。

その他の回答 (2)

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

「時間(時刻)」などの前に 「どのような方法で表示させるのか」が必要ではないかと思いますよ。 そこを決めなければ回答者としては具体的な回答は書けません。 表示させる方法などバリエーションも含めると無限にありますからね。 ○表示方法例1 午前6時から午後18時までは, メインタイムラインの2~201を(ループ?)再生させ 午後18時から午前6時までは, メインタイムラインの202~401を(ループ?)再生させる。 ○表示方法例2 午前6時から午後18時までは, ムービークリップ「a_mc」を(ループ?)再生させ 午後18時から午前6時までは, ムービークリップ「b_mc」を(ループ?)再生させる。 ○表示方法例3 午前6時から午後18時までは, 識別子「a_mc」のシンボルをライブラリから attachMovie し 午後18時から午前6時までは, 識別子「b_mc」のシンボルをライブラリから attachMovie する。 ○表示方法例4 午前6時から午後18時までは, 外部SWF「a.swf」を loadMovie でロード表示させ 午後18時から午前6時までは, 外部SWF「b.swf」を loadMovie でロード表示させる。 などなどなど… とにかく無数にあります。 さらに, 「表示させている間に時刻の境界を超えた場合はどうするのか?」 ということも考えておかなければ。。。 つまり 「午前6時から午後18時まで」や「午後18時から午前6時まで」という時刻は Flash を表示させた瞬間の時刻なのか? Flash を表示させている間中ずっと監視すべき時刻なのか? ということです。 当然, 前者(表示させた瞬間の時刻)の方がずっと簡単で, 後者(表示させている間中ずっと監視すべき時刻)の方がずっと難しいです。 途中で標示物を切り替える部分も出てきますから。 まずはこの辺を具体的に考える必要があると思います。     なお, ご質問の本題である「時刻によって動作を分岐させること」自体は これを単独で考えるなら簡単なことです。 この程度↓の回答でしたらできますが。 新規ドキュメントを作成し メインのタイムラインのフレーム1にコピペし 「制御」→「ムービープレビュー」するスクリプト例です↓。 //------------------------------------ //現在のDateインスタンスを作成 var now_date:Date = new Date(); //時刻を取得 var now_hour:Number = now_date.getHours(); //もし時刻が6以上18未満(17以下)であれば if (now_hour>=6 && now_hour<18) { //検証出力↓ trace("こんにちは♪ 今は"+now_hour+"時です。"); } else { //検証出力↓ trace("こんばんは★ 今は"+now_hour+"時です。"); } //------------------------------------ 上記スクリプトの //検証出力↓ trace("こんにちは。今は"+now_hour+"時です。"); と //検証出力↓ trace("こんばんは。今は"+now_hour+"時です。"); の部分を 具体的に決めた動作に変えれば良いだけです。 ご存じだとは思いますが Flash で取得する現在の時刻は 閲覧するパソコンに設定してある時刻ですから これを変えると色々な時刻でのシミュレート実験ができます。 (これは JavaScript やその一種である jQuery でも同じです。) この程度の回答であればすぐに書けます。 この「時刻による動作分岐」よりも その先の方が重要であり,難しいことが絡む部分だと思います。

Kenta57
質問者

お礼

ご回答ありがとうございます。 早速作業してみようと思います。 浅い知識のため、質問も不十分な書き方で申し訳ありません。 お力をおかしいただきありがとうございます。

Kenta57
質問者

補足

表示させる方法まで考えて居ませんでした(汗) もし、常に時間を監視して表示に反映させる場合、はどうしたら良いのでしょうか? 最悪の場合、開いた時間で、表示させる内容を変える方法にしますが、できれば、時間を監視させられたら最高なんです。 何度も補足申し訳ありません。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 >何か良い方法はないでしょうか? とのことですが、その仕様で作るしかないと思います。 Flashであれば時間を取得して6:00~17:59、18:00~5:59でスライドするフレームを制御すればよいでしょうし、 jQueryであれば画像を配列のような形でで持っておいて時間によって利用する画像を変更すれば良いと思います。

Kenta57
質問者

お礼

お礼が遅れた事を、まず申し訳ありませんでした。 的確な回答をありがとうございました。

Kenta57
質問者

補足

回答頂きありがとうございます! 方法の考え方に関しては何となくですが僕にも想像は出来たんです。 でも、実際の方法に関して知りたかったので、教えて頂ければと・・・。 何か参考ページでも構いません。 宜しくお願いします。

関連するQ&A

  • Flash ActionScriptで、画像に保存したい!

    Flashプレイヤーで再生中のFlashアプリで、 写真を取り込んだり、図形を書いたり、文字を配置したりするFlashアプリを作成することになったのですが、 最後に作成したイメージの保存を、ActionScriptで行いたいのですが、何か方法がないでしょうか? 開発ツールのFlashでイメージの保存する方法ではなく、 Flashプレイヤーで再生中のFlashアプリの機能として 保存ボタンのプログラム方法が知りたいのです。 画像のフォーマットは、JPEGでもGIFでもBitmapでも構いません。 バージョンはFlash8で、ActionScriptは2.0です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • SH-04AでのFLASHの再生

    DoCoMoの携帯電話、SH-04AはFLASHの再生ができるようなので、制作したFLASHが携帯で再生可能か確認したいのですが、microSDのどこに保存したらローカルのFLASHを再生できるでしょうか?

  • Flashサイトに使えるCMSをつくりたいと考えています

    phpとActionScriptを使い、Flashサイトに使えるCMSっぽいものを作りたいと考えています。 どちらに関しても知識が中途半端ですので、制作するうえでの考え方があっているかどうか、また可能かどうかお聞きしたいです。 下記がつくりたいものの内容です。 ■Flash部分  写真と説明の文章が掲載されたFlash。 ■やりたいこと  写真と説明をフォームからphpなどを使いアップロードし、Flashに反映したいと思っています。  ウェブ上からFlashサイトが更新できるような感じにしたいです。 ■考え方  phpで写真をサーバー上にアップロード、アクションスクリプトで取得し、反映。  文章は同じくフォームから書き込んだものをphpでtxtに書き出し、Flashに読み込む。  もしくはDBを使用して、画像とテキストを読み込む。 上記のような考え方であっているでしょうか? また、他によい方法などがあればご教授いただければと思っております。 検討違いなところもあるかもしれませんが、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • swfファイルが開けるのはFlashのソフトが入っているパソコンだけでしょうか?

    私は自宅でデスクトップのパソコンに入っているFlash8を使って制作をしています。 クライアントさんのパソコンにはFlashのソフトは入っていません。 それで制作の途中チェックをしてもらいたいと思っています。 アップ後はFlashをダウンロードすればFlashのソフトを持っていなくても観覧できると思いますが アップしていない状況でクライアントさんのパソコンにFlashを ダウンロードしても観覧は出来ないのでしょうか? またはそれ以外の方法でクライアントさん側のパソコンで チェックをする方法はないでしょうか?

    • ベストアンサー
    • Flash
  • Flash 8 BasicからFlash Lite1.1にパブリッシュ

    カテゴリーがわからなかったので、 こちらのカテゴリーにも投稿させていただきます。 Flash 8 Basicを使って、携帯用の動画を制作しています。 今回はどうしてもパブリッシュ形式をFlash Lite1.1にしないといけません。 Flash 8 BasicからFlash Lite1.1にするには、 パブリッシュ設定をFlash Player4にするというふうに聞いたので、 試してみたのですが、エラーになってしまい、できません。 ちなみにこの動画は簡単な物でActionScriptは使っていません。 なんとかFlash lite 1.1の形式で書き出せないでしょうか?

    • ベストアンサー
    • Flash
  • FlashでMP4の動画を再生するには..

    FlashでMP4の動画を再生するには.. Flash8を使っています。 手元にあるMP4動画(H.264)をFlash Videoとしてウェブページで再生させたいです。 以下のページを参考にしました。 http://www.asahi-net.or.jp/~tk3t-ysok/flash/tutorials/as/as20/as20.html 上記のページにあるようにFLVファイルなら問題ないのですが、 MP4ファイルはそのままでは再生させられないです。 (コンポーネントインスペクターのファイル指定で.flvではなく.mp4と指定しました) YouTubeなどを見ると、MP4ファイル(1080pHDなど)でもFlashで再生させられるようなのですが・・? また、 http://www.macwebcaster.com/2007/12/playing_mp4_on_flash_9.html を見ると、やはりMP4は再生可能のようです(最新のFlash Playerなら)。 これは試してみてできると確認しました。 ただし、人様のSWFは使いたくないです。 ひょっとして最新版のFlash CS4を買わないと無理ですか? Flash8ではMP4を再生させるSWFを作ることは無理なのでしょうか・・? 可否と可能ならその具体的方法についてご指導頂けますようお願いいたします。 <環境> Windows XP SP2 Flash8

    • ベストアンサー
    • Flash
  • Flashの再生が始まらない

    FlashでコーディングしたプログラムをHTMLに貼り付けると、たまに再生が始まらないことがあります。概要としては、簡単に説明するとクエリを含んだアドレス(例:●●.swf?msg=あああ)から値を受け取り、それをムービークリップ上に表示するというものです。仮にクエリから値を取得できなくても、そういった場合に備えて他の文字で代用するコーディングもしてあります。実際、書き出したswf本体を再生すると当然クエリの値は受け取れませんが、代用コードが働いて代わりの文字が表示されます。 問題は、なぜかHTMLに貼り付けた場合とブラウザを通じてswfに直接アクセスしたとき、再生がはじまらない不具合が発生するということです。これはなぜなのでしょうか?もしかしてブラウザを介することに問題があるのでしょうか? 製作環境は WindowsXP Flash8 swfはそれぞれFlash8、ActionScript2.0の設定で書き出しています。

  • 画像1枚を横スクロースで途切れずループ再生させたい

    【作業環境】 PC:Windows 7 アプリケーション:Flash8 ActionScript:2.0 1枚の画像(1260×237)を左から右に移動させ、 画像の切れ目にはまた同じ画像がくっついて切れ目なく 横移動を永久ループするFlashを制作したいのですが、 他のサイトから参考に制作してみても画像が途切れて、 ループしてくれません。 ※できたら、再生開始時には、アルファ0%からスタートして、 徐々にアルファ100%になるようにしたいです。 ※最初の何週かは、横移動のスピードも速くし、徐々に遅くなって、 一定のスピードでループ再生されるものにしたいです。 何な方法がありましたら教えて頂けないでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • FLASHで書き出したexeをループ再生

    FLASHで書き出したexeをループ再生させたいです。 FLVファイルは紛失してしまい、exeファイルしかありません。 ActionScriptでストップが入っているため、FLASHプレーヤーの制御でループすることは出来ません。 なにか、簡単にループさせる方法はありますでしょうか?

  • Flashのスライドショーについてご教授ください

    Flashで困っています!わかる方ご教授お願いします。 タイムラインでスライドショー程度しか作ったことがないFlashど素人なんですが、需要があって四苦八苦しています。 内容はこちら↓ ・写真5枚、写真と連動したテキストのスライドショー(横または縦の動き) ・「次へ」などのボタンは不要 ・最後にstop();またはループ ・写真は季節ごとに差し替えの更新があるので外部から読み込める仕様 ・お客様でも写真を差し替えれば可能な状態 アクションスクリプトじゃなきゃできないのか、タイムラインだけで大丈夫なのか、部分的にスクリプトを書けば可能なのかお教えいただけませんでしょうか。 それか、今さらFlash?っていう人もいるかと思います。 jQueryとかでも実装が可能でしたらご教授いただければと思います。 お手数おかけしてすみませんが、よろしくお願いします。

専門家に質問してみよう