出産前後の痔にはご注意!

ボタンクリックで外部のswfを読み込んでいます。

btn1.addEventListener(MouseEvent.CLICK,link1);
function link1(event:MouseEvent):void {
var req:URLRequest = new URLRequest("movie.swf");
var ld:Loader = new Loader();
ld.load(req);
MovieClip(parent).main_mc.mc1.addChild(ld);
}

他のボタンにも同じようにmain_mc.mc1にそれぞれのswfを読み込むようにしていますが、
ボタンをクリックするたびに、main_mc.mc1に読み込んだswfが重なって表示されてしまいます。
AS1・2のように自動的にクリアになり新しいswfが読み込まれるということができません。

他のボタンをクリックしたときにmain_mc.mc1に表示されているswfをクリアにする方法はないでしょうか。

ActionScript3は勉強中のため、知識が浅く申し訳ありませんが、わかる方教えてください。
お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

単に ボタンをクリックする度に, Loader インスタンスを作成し続けるから変になるのだと思います。



外部 SWF は Loader にロードされるのですよ。
ムービークリップ ではなく ムービークリップ内 の Loader にロードされるのです。
そのイメージをしっかり持ってください。

変更例↓
========================
//↓Loaderは1つで良い
var ld:Loader = new Loader();
MovieClip(parent).main_mc.mc1.addChild(ld);

btn1.addEventListener(MouseEvent.CLICK,link1);

function link1(event:MouseEvent):void {
var req:URLRequest=new URLRequest("movie.swf");
ld.load(req);
}

//---同階層にbtn2があってmovie2.swfをロードする例---

btn2.addEventListener(MouseEvent.CLICK,link2);

function link2(event:MouseEvent):void {
var req:URLRequest=new URLRequest("movie2.swf");
ld.load(req);
}
========================
    • good
    • 0
この回答へのお礼

ありがとうございます。やっと理解ができました。
もっとAS3を勉強してみます。

お礼日時:2011/03/14 14:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング