• ベストアンサー

flashのローディング待ちについて質問です。

flashのローディング待ちについて質問です。 flashは普段、ページに表示されると、勝手にローディングを始めてしまいますよね。 それを止めるにはどうしたら良いのでしょうか? つまり、ボタンを押さなければロードしないと言うことです。 私はページに幾つもflashを置いているので、勝手にローディングされるとページが重たくなってしまうのです。 初歩的な質問かつすでに質問されている内容かも知れませんが、検索してもなかなか見つからないので…。お手数ですがよろしくお願いします。

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

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

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

HTML に貼り付けた以上 勝手にローディングされるのは Flash に限らず JPEG でも GIF でも,その他 HTML 自体も全てがそうです。 さらにその上, 「Flash をローディングさせない」という命令が仮に Flash からできるのであれば それはすなわち 「Flash をローディングしたからできること」ですから それは矛盾しているとも言えます。 ◎ 解決策の方向性1 HTML に貼り付けた以上 Flash は勝手にロードされるのですから 単純に HTML に貼り付けなければ良いのではないでしょうか。 JPEG なども普通はそうしますよね? 大きな写真をたくさんページに貼り付けるとページが重くなるので 1つのページ上にはサムネイル用の小さなJPEGでも置いておいて そのサムネイル写真をクリックすると 同窓 または 別窓 または 小窓 などでその 大きなJPEG を表示させるとかです。 Flash のキャプチャ画像でもサムネイルJPEGにして サムネイルにしてそのサムネイルをクリックすれば その Flash が何らかの形で表示されるようにすれば良いと思います。 その「何らかの形で表示」させる方法は沢山ありますから その「具体的な方法」をどうするのか書かれなければ答えようがありません。 ですからこれは 「解決策1」 ではなく 「解決策の方向性1」 です。 また そうする場合は, Flash ではなく HTML や JavaScript の話になります。 ◎ 解決策の方向性2 HTML に貼り付ける Flash (SWF) は 別の SWF をロード表示させる「親SWF」ということにして その 「親SWF」 に用意したボタンを押すことによって 「子SWF」 をその 「親SWF」 にロードさせても良いと思います。 要するに 「TV の装置部分」 だけを SWF で作成し HTML に貼り付けておいて その TV 部分のボタンを押すなりチャンネルを変えると それに応じた 「番組」 のSWF を TV の中にロードすれば良いということです。 (ある意味 YouTube みたいな感じ) これをするには 親SWF に「子SWFをロードする」 ための しくみ や ActionScript が必要になります。 具体的な しくみ や ActionScript は 作りたいものによって変わりますし また Flash や ActionScript のバージョンによって変わりますから これも 「具体的な方法」 や 「バージョン」 が何なのかを書かれなければ答えようがありません。 ですからこれも 「解決策2」 ではなく 「解決策の方向性2」 です。 大まかな方向性だけで回答を終わるのも何ですから もう少しだけ進んだところまで書きます。 (これ以上はさらに分岐が多すぎて書けない。) ActionScript 2.0 以下(Flash 8 以下)であれば ムービークリップ(MovieClip) を何らかの形で作成して そのムービークリップに loadMovie するのがオーソドックスで簡単な方法です。 Google検索「Flash loadMovie」 http://www.google.co.jp/search?hl=ja&q=Flash+loadMovie&aq=f ActionScript 3.0 (Flash CS3 以上)であれば Loader クラスのインスタンスを ActionScript で作成して その Loader に load するのが普通の方法です。 Google検索「Flash Loader load」 http://www.google.co.jp/search?hl=ja&safe=off&q=Flash+Loader+load&aq=f

makotsu_
質問者

お礼

ありがとうございます! 解決策の方向性2に興味を持ちました。 やはり、ただ陳列するだけだと重くなるのは当然というわけですね。 詳細な情報までありがとうございます! flashは難しいですが、色々勉強していく所存であります。

関連するQ&A

  • Flashのローディング画面の作成

    DL待ちのためにFlashのローディング待ちのswfを作成したいのですが、 ローディングが完了したら、本編を表示するというものです。 この場合、ローディング用のswfと本編のswfを同じにすることは可能なのでしょうか? (1swfファイルで完結) 普通に考えたら別々のファイルでないと、 swfファイルを全部DLしないことには、 ローディング画面もでないと思うのですが。 サンプルflaなどを見ると、1swfファイルなのが多いので。

    • ベストアンサー
    • Flash
  • ローディング画面について

    実現したいこと トップページのローディング画面について質問させてください。 現在、トップページにローディングを実装しています。 なお、ホームページ内のページ遷移からトップページ表示時は、ローディングを非表示にしています。 クライアント様から、検索画面→トップページ表示→検索画面に戻る→再度トップページ表示した際に、ローディングを表示したいとのご要望があり、試行錯誤しているところです。 ちなみに、’loading_bg’クラス・’body’タグは初めからdisplay:none;にしています。 ’loading_bg’は、ページ遷移の際に、トップページに行くとローディング画面がちらつくのが気になったためです。 ’body’タグは、ローディングが始まる前に一瞬読み込み前の画面が表示されるのが気になり、非表示にした方が気にならずに済んだからです。。。 /* ====================================  ローディング */ $(document).ready(function() { var time = new Date().getTime(); var h = $(window).height(); // セッションストレージから初回訪問のフラグを取得 var isFirstVisit = sessionStorage.getItem('isFirstVisit'); if (!isFirstVisit) { // 初回の訪問時にのみ実行 sessionStorage.setItem('isFirstVisit', 'true'); // セッションストレージに初回訪問情報を保存 showLoadingScreen(); // ローディング画面を表示する関数を呼び出す } else { // 2回目以降の訪問時には非表示 // ページ読み込みの際に非表示にするため、すぐに実行 hideLoadingScreen(); } // すべての読み込みが完了したら実行 $(window).on('load', function() { var now = new Date().getTime(); if (now - time <= 1000) { setTimeout(function() { stopload(); }, 1000 - (now - time)); } else { stopload(); } }); // 5秒たったら強制的にロード画面を非表示 $(function() { setTimeout(function() { stopload(); }, 5000); }); }); function showLoadingScreen() { var h = $(window).height(); $('.loading_bg').height(h).css('display', 'block'); } function hideLoadingScreen() { // フェードアウトのアニメーションを追加 $('.loading_bg').fadeOut(500, function() { // アニメーション完了後、非表示にする $(this).css('display', 'none'); }); } function stopload() { hideLoadingScreen(); // ローディング画面を非表示にする $(".wrapper").animate({ "opacity": 1 }, 500); } // ローディングの直前に表示を戻す document.addEventListener('DOMContentLoaded', function() { document.body.style.display = 'block'; });

  • ローディング画面の作り方

    Flashでスライドショーを作りたいと思い、以下のようなサンプ ルを使用させていただいております。 http://hfm-kenchan.com/Lesson/log_qa/index.htm (過去記事検索窓に「時間の経過で自動的に画像をクロスフェー ドするスクリプト」とご入力頂くと、私が今使っているスクリプ トの記事が表示されます。) このサンプルは、読み込みが始まると背景の部分が点滅し、ロー ディング中であることがわかるようになっているのですが、違う 内容のローディングを追加したいと思い、初心者なりに試行錯誤 してみたのですが、どうしてもうまくいきません。 ローディングで実現させたい内容は以下の通りです。 ●ローディングバーなどではなく、ロゴマークなどの任意の画像  を、読み込みが終わるまで点滅させずに表示させたい。 ●すべてのファイルを読み込むまで再生しない。 ご教授いただければ幸いです。よろしくお願い致します。 また、差支えなければローディングバーで表示するためのスクリ プトもお教え頂ければ幸いです。よろしくお願い致します。

  • AS3によるFLASHサイトのローディング処理について

    いつもお世話になります。 ActionScript3(環境:FLASH CS4)にてフルFLASHサイトの制作を行なっております。 サイトにアクセスした際に表示されるローディング部分に関するご質問です。 ローディング処理部分をタイムラインの『1』に記載し、ローディング完了後にタイムライン『2』 に移動してページの表示処理が行なわれる仕組みで作りましたが、下記の2点でつまずいております。 (※ローディング処理のソースは下記に記載しております) 1.ローディングゲージが伸びていかない。 loadingImageというMovieClipのマスク部分のscaleXを0にし、ローディングの読み込み完了分に 合わせて徐々にscaleXの値が上がっていき、ローディングが全て読み込みされた時点でscaleXが 1になるような仕組みで作ったつもりですが、実際にサイトにアップしてもゲージが徐々に上がらず、 一気にscaleXが1になってしまいます。 徐々に伸びる部分にイージング処理を入れたかったので、scaleの値を代入する場所に (per - loadingImage.logoMask.scaleX)/8;という処理を入れております。 一般的なFLASHサイトのように徐々にゲージが伸びていく処理を行うにはどのようにしたら良いでしょうか? 2.ローディングアニメーションが表示されるまでに時間がかかる 一般的なFLASHサイトでは、サイトにアクセスした際にすぐにローディング画面が表示され、 ロード処理が開始されますが、下記の作りではローディング画面が表示されるまでにかなり時間が かかってしまい、真っ白な画面のままでブラウザが暫くサイトの読み込みを行なっているようです。 どうやら、ローディング画面が出る前の時点で画面全体の読み込み処理が始まってしまっている為に、 上記の1のゲージが伸びていかないことも関連しているようなのですが、 サイトにアクセスした際にスムーズにローディング画面を表示させ、そこからデータの読み込みを行なうには どのような記述が必要でしょうか? お手数では御座いますが、宜しくお願い申し上げます。 // =============================================================================== this.stop(); var info:LoaderInfo = root.loaderInfo; // ローディングゲージMC var loadingImage:MovieClip = new loadingImage_mc(); loadingImage.logoMask.scaleX = 0; // このタイムラインにイベントリスナーを登録 root.addEventListener(Event.ENTER_FRAME, watchLoading); function watchLoading(event:Event) {   var per:Number = info.bytesLoaded / info.bytesTotal;   loadingImage.logoMask.scaleX += (per - loadingImage.logoMask.scaleX)/8;   if (per >= 1) {     // このタイムラインに登録したイベントリスナーを削除     root.removeEventListener(Event.ENTER_FRAME, watchLoading);     // タイムライン2に移動     play();   } } // ===============================================================================

  • Flash5について(操作の質問)

    Flashで素材(ボタン)を作って、Dreamweaver上で取り込み、そのボタンにリンクを張り、フレームの中にそのリンクのページを表示させたいのですが、どうすればよいでしょうか? また、Flashで作成する時はボタン、またはイメージ、または、ムービーのそれで書き出せばよいのですか?

  • flashサイトを作ってますが・・・

    今、flashのサイトを作っているんですが(1つのhtmlにswfを入れボタンを押すと他のswfをloadMovieするような感じです。)高さがバラバラなflashのためかロードすると崩れてしまいます。もう少し詳しく言うと、 760*1100のswfから760*500のswfをロードするとスクロールバーがあり見えなくていいとこまで見ることができます。こうゆうページってのは一番大きものに合わせるようになっているんですかね? 500なら500、1100なら1100というように見せるにはどーしたらよいですか?教えてくださいお願いします。

    • ベストアンサー
    • Flash
  • Flashボタンからリンクが飛ばない

    DreamweaverのデフォルトのFlashボタンを貼り付け、他のページへのリンクを張りました。 Flashファイルはhtmlファイルと同じディレクトリに保存しています。 リンク先はhttp://で始まる絶対パスを設定しています。 その設定内容をコピー&ペーストでアドレスバーに貼り付けると、正常に表示されています。 でも、Flashボタンからだと表示されなくて、ページが見つからないって言うページが表示されてしまいます。 Flash初挑戦で、困っています。 よろしくお願い致します!!!

  • 2つのswfファイルをつなげている場合の一括ローディング方法

    お世話になります。 この質問の下の質問で、外部JPGファイル読み込みのローディング方法を質問しておられますが、そこを読んでも、外部swfファイル読み込みの際のローディング方法に応用することが出来ませんでした。 700Kのswfの最後のフレームに、 loadMovieNum("img/next.swf", 0); として、500kのnext.swfファイルとつなげています。 最初のswfファイルの1シーン目で、2つのswfを全て読み込み、再生時のつながりをスムーズにしたいと考えています。 最初のswfの1シーン目に、 ローディングオブジェクトを置き、 onClipEvent (load) { _root.stop(); par = 0; bar._xscale = 1; } onClipEvent (enterFrame) { par = parseInt((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); if (par == 0) { par = 1; } else if (par >= 100) { par = 100; _root.gotoAndPlay("start"); } bar._xscale = par; } ローディングすると、フレームラベル「start」 に飛び、 そのフレームに置いているオブジェクトに onClipEvent (load) { par = 100; bar._xscale = 100; } onClipEvent (enterFrame) { _alpha -= 5; } を書き込んでいます。 そして、2シーン目に飛び、 2シーン目の最後のフレームに、 loadMovieNum("img/next.swf", 0); を置いてつなげています。 FLASH本を数冊持っているのですが、2つのswfを 同時にローディングする方法が載っておらず、 こちらに質問を書かせていただきました。 もしかしたらこの質問の下質問JEPファイルの ローディングと内容がかぶってるかもしれませんが、 よろしくお願い致します。 【制作環境】 Win XP FLAS MX

    • ベストアンサー
    • Flash
  • Flash 8 リンクのさせ方

    初歩的な問題なのですが、 Flash 8 でリンクのさせ方について伺えないでしょうか? 例えば、あるホームページのはじめのページで ボタンを押して “お知らせ”のページに飛ぶように作りたいのですが どのようにやればよいのでしょうか?

  • Flashボタンから相対パスへのリンク方法を教えてください

    タイトルのままなのですが、Flashでボタンを作成し、相対パスでWebページ移動することは可能でしょうか? クリックするとget url でリンク先のページが表示される絶対参照は使っています。 初歩的な質問でお恥ずかしいのですが、よろしくお願いします。

    • ベストアンサー
    • Flash