- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:attachBitmapしたMCのgetBytesTotalを取りたい)
attachBitmapしたMCのgetBytesTotalを取得する方法
このQ&Aのポイント
- 空のMCに対してgetBytesTotalを実行すると、正しく値を取得できない問題があります。
- attachBitmapを使用して画像を読み込む方法については、参考URLをご確認ください。
- ルートに配置されているframe_mcにattachBitmapを適用していますが、取得できるトータルサイズは12しかありません。なぜでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
回答No.1
お礼
おかげさまで解決できました。 Target.removeMovieClip();されるまえにTarget.getBytesTotal();をすることで解決できました。 おっしゃられるとおりです。 以下解決後のスクリプトです。 import flash.display.*; var dummy:MovieClip = this.createEmptyMovieClip("dmy_mc", this.getNextHighestDepth()); dummy._x = 10000; var MCL:MovieClipLoader = new MovieClipLoader(); var OBJ:Object = new Object(); OBJ.onLoadInit = function(Target:MovieClip):Void { var BMD:BitmapData = new BitmapData(Target._width, Target._height, true, 0); BMD.draw(Target); //↓ここから totalSize = Target.getBytesTotal(); onEnterFrame = function() { loadedSize = Target.getBytesLoaded(); nowLoadedSize = Math.round(loadedSize/totalSize*100); if (nowLoadedSize == 100) { Target.removeMovieClip(); _root.frame_mc.attachBitmap(BMD, 0, "auto", true); } else if (nowLoadedSize<100) { _root.stop(); } } //↑ここまでが今回の肝 } MCL.addListener(OBJ); MCL.loadClip("img.png", dummy); これで外部ファイルのロスレスのスライドショーができるようになりました。 attachBitmapは単純に”鏡に映している”みたいなことだったわけですね。 実際の読み込みはTargetに行っていたということがわかりました。 dummy._x = 10000;を試しにdummy._x = 10;にしてみるとその動きがよくわかりました。 ありがとうございます。