私は AS3 をフラッシュするための uber n00b です。完全なバカのように聞こえるようにするつもりはありませんが、正直なところ、外部の .swf をメイン ファイルにロードする方法を理解するのに十分苦労しました。そして今、私の友人は、外部の .swf 内にボタンを追加して、それ自体をアンロードし、その場所に新しいものをロードするように頼んでいます...
しばらくの間、フォーラムで答えを探しました。私が崩壊し、敗北を認め、助けを求める時が来たと信じています.
そんなに難しくないので誰か教えてください..? 確かに可能です...
アドバイスをよろしくお願いします!ここに返信できる時が来るのを楽しみにしています!
2185 次
1 に答える
0
私は解決策を持っています!しかも24時間しか経っていません。私が支配する!私はdispatchEvent
に出くわし、それで解決しました!
...誰かが将来、この一見不可能な仕事に対する答えを求めてこのページに出くわした場合、彼らは今すぐ答えを持っているでしょう! 私が行ったことを参照する際に正しい用語がない場合は、ご容赦ください。どうぞ...
外部 .swf では、(外部 SWF にある) ボタンにリスナー イベントを設定する必要がありました。次に、ボタンの関数内に dispatchEvent を含めます。イベントをメインのタイムラインに「バブル」させるために、引数に「true」を含めました。彼は私のボタンの 1 つの例です。
mc_main_menu.btn_entertainment.addEventListener(MouseEvent.CLICK, button4);
function button4(event:MouseEvent) {
dispatchEvent(new Event("btn4", true));
}
わかりましたが、これはコードの半分にすぎません。そのため、外部 swfs をロードするメインの swf
で、いくつかのことを行う必要がありました
。1)。現在の SWF をメモリからアンロードして、サウンドの再生を停止します
2)。私の外部swf(バブルアップします)でdispatchEventのリスナーを設定します
3)。新しい外部 SWF をロードする
loader.addEventListener("btn4", page4Swf)
function page4Swf(event:Event):void{<p>
Loader(event.currentTarget).unloadAndStop(); //completely removes the swf from memory
var SWFRequest:URLRequest = new URLRequest("page4.swf");
loader.x = Xpos;
loader.y = Ypos; //these are to offset the loaded swf, if you wish
addChild(loader);
}
そして、そこにあります!正直なところ、ここにこんなに早く返信を投稿できるとは思いませんでした。
于 2010-05-14T05:31:48.603 に答える