こんにちは。
FLASH MXでものすごく単純なことをしようとしているのですが、
出来ずに困っております。
外部JPGを読み込むときにloading画面を表示したいのですが、
それが出来ずに困っております。
レイヤーが下記の様に3つあります。
script
loading(loadingの文字)1フレーム目に文字、2フレーム目は空
base(読み込み用のMC)
scriptの1フレーム目に下記のスクリプトを書いております。
---------------------------------------------------------
base.loadMovie("thumb/"+_name+".jpg");
if(this.getBytesTotal() < this.getBytesLoaded()){
this.gotoAndstop(2);
}else{
this.stop();
}
----------------------------------------------------------
これでプレビューすると写真読み込みは完了しているのですが、
loadingの文字が写真の上にかぶさったままになります。
どのようにすればよろしいでしょうか?お教えいただければ
幸いです。
No.2ベストアンサー
- 回答日時:
#1です。
ご指摘ありがとうございました。
いやはや外部ファイルのロード画面は難しいです。
#1のスクリプトをちょろっと検証してみて,「読み込み中」が見えたので,これで行けると思ったら大間違いでした。どうもすみませんでした。
また,西日本に住んでおりまして,台風14号とやらで停電はするし,近くには避難勧告はでるし,などでPCどころじゃない状況でしたので,返事が遅れましたこともお詫びします。
おおむね,#1で書きました参考URLのようにしないと,MovieClip.lloadMovie() ではうまく行かないようです。
でもいろいろ実験してみて,参考URLも違っていることもわかってきました。
結論から先に書きます。
スクリプトを書かれた,フレーム1のフレームのスクリプトは
-----------------------------------
base.loadMovie("thumb/"+_name+".jpg");
-----------------------------------
と書くだけにしてください。
そして,インスタンス名baseのムービークリップ自体には以下のように書いてください。
-----------------------------------
onClipEvent (load) {
_parent.stop();
}
onClipEvent (data) {
if (this.getBytesTotal()>0 && this.getBytesTotal()<=this.getBytesLoaded()) {
_parent.gotoAndStop(2);
// } else {
// _parent.stop();
}
}
-----------------------------------
スクリプトは以上です。
onClipEvent (load) {
_parent.stop();
}
で,やはりまず_parent(親ムービー)を1フレームで止めなければなりません。
ここが参考URLでは抜けています。
止めておいて,
onClipEvent (data) 以降を計算させます。
onClipEvent (data) の2行目
this.getBytesTotal()>0 &&
と書いてありますが,これがなくてもちゃんと動作するようです。
this.getBytesTotal() == this.getBytesLoaded() == 0
という両方 0 の場合もありうるので保険のようなものでしょう。
また,// の付いた部分ですが,
// } else {
// _parent.stop();
これは,最初に _parent.stop(); で書いてあるので必要ないとは思います。
でも気になるようでしたら // を取って注釈行ではなく,普通のスクリプトに変更してください。
こんなのでどうでしょうか。
ありがとうございます!
おっしゃられるように変更したところ、
ちゃんとLoadingで待つようになりました!
台風大丈夫でしたでしょうか?大変なところご返事
頂きありがとうございます。感謝!
No.1
- 回答日時:
>> loading(loadingの文字)1フレーム目に文字、2フレーム目は空
なわけですから,
>> this.gotoAndstop(2);
で2フレームに飛んでいないということです。
省略されているのかどうかわかりませんが,書かれているスクリプトでは,1回しか計算されませんよ。
onClipEvent (enterFrame) か参考URLのように onClipEvent (data) で何度も計算させないといけません。
それと,スクリプトの2行目が,
if(this.getBytesTotal() < this.getBytesLoaded()){
↓
if(this.getBytesTotal() <= this.getBytesLoaded()){
でしょう。
this.getBytesTotal() < this.getBytesLoaded()
なんて理論上ありえませんよね。ひょっとしたら誤差などの計算違いでそうなることもあるかもしれませんが。
以上の点を修正して,あと細かな部分に手を加えると以下のようになります。
------------------------------------------
this.stop();
base.loadMovie("thumb/"+_name+".jpg");
this.onEnterFrame = function() {
if (base.getBytesTotal()<=base.getBytesLoaded()) {
this.gotoAndstop(2);
this.onEnterFrame = null;
}
};
-------------------------------------------
参考URL:http://www.fumiononaka.com/TechNotes/Flash/FN030 …
この回答への補足
ありがとうございます。
写真の上のLOADINGが消えました。
ちょっと重めのファイルで試したのですが、
LOADINGがでていないようですが、外部ファイルからの
読み込みのLOADINGはこの式はあってますでしょうか?
何度も質問して申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Word(ワード) 写真3枚をA4に貼り付けたい 5 2023/07/03 14:36
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトが何に記述されてい...
-
外部テキスト読み込み、横スク...
-
流星が流れるような感じにした...
-
Flash4でloadMovieの完了を知る...
-
音楽を止めたい><
-
Flashでの連打ゲームの作成方法...
-
WEBブラウザの重複起動の禁止
-
ブルーレイドライブとブルーレ...
-
ドキュメントサイズの変更
-
○秒後にフレーム移動
-
マスクをかけると文字が乱れる
-
メガネのフレームが半分に折れ...
-
ハードディスク DVD 読み...
-
ActiveBasic 音楽のループ再生
-
再読み込みが可能なPDFビューワ...
-
めくれるカードの作成方法
-
エクセルで通知音
-
vbscriptでウィンドウズメディ...
-
フラッシュ初心者ですが
-
外部画像と音楽(MP3)の取り入れ方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FLASHでパブリッシュのswfが重...
-
ムービークリップの位置と角度...
-
スクリプトが何に記述されてい...
-
Flash4でloadMovieの完了を知る...
-
flashからflash lite
-
ActionScript 2.0 再生・停止
-
フラッシュプレイヤーのバージ...
-
外部JPG読み込みでのLoading
-
プリローダーで、画像を下から...
-
フレーム内に移動したい
-
phpで音を鳴らす
-
Flashで右クリックメニューにつ...
-
C言語 バッファについて。
-
【C#】wavファイルの複数同時再生
-
Access2010でサブフォームのフ...
-
#1009: null のオブジェクト参...
-
車の運転時のメガネ 縁なし(...
-
VBで動的に作成したパネルの上...
-
WEBブラウザの重複起動の禁止
-
GetPrivateProfileString変値
おすすめ情報