AS 3.0の実例はaddChildとremoveChildの異なるswfの間の運用を熟知しています。また、loaderの使い方を学びます。
実例2:addChildとremoveChildの異なるswfの間の運用を熟知し、またloaderの使い方
説明:pictureをクリックすると別のswfにロードされます。ロードされたswfのボタンをクリックして、swfが消えます。
デモンストレーション:http://www.live-my-life-with-yuyi.com/as3_cases/different_movies/
コード:
swfA(つまりボタンのあるflash)
全体のコードは簡単です。まずPoput.swfをロードして、モニターボタンのclickイベントにショーPicture関数を定義します。この関数の機能はとても簡単です。addChildを通して先ほどロードしたswfをステージに置いてください。
swfB(ロードされたflash->ポプラ.swf)
このswfはすでに他のswfにロードされていますので、this.parentはloaderを指すべきです。this.parent.parentはTimeline 0、つまり舞台を指します。だから、この言葉はよく分かります。ステージからこのswfにダウンロードされたloaderを外します。
ケース2の分析はこれで終わります。
パッケージファイルのダウンロード
説明:pictureをクリックすると別のswfにロードされます。ロードされたswfのボタンをクリックして、swfが消えます。
デモンストレーション:http://www.live-my-life-with-yuyi.com/as3_cases/different_movies/
コード:
swfA(つまりボタンのあるflash)
var loader:Loader = new Loader();
loader.load(new URLRequest("Popup.swf"));
picture_btn.addEventListener(MouseEvent.CLICK, showPicture);
function showPicture(event:MouseEvent):void
{
addChild(loader);
}
AS 3ではloadMovieの代わりにloaderを使っていますが、ロードする時は直接パス名を追加することができません。URLRequestでロードする必要があります。全体のコードは簡単です。まずPoput.swfをロードして、モニターボタンのclickイベントにショーPicture関数を定義します。この関数の機能はとても簡単です。addChildを通して先ほどロードしたswfをステージに置いてください。
swfB(ロードされたflash->ポプラ.swf)
close_btn.addEventListener(MouseEvent.CLICK, closeWindow);
function closeWindow(event:MouseEvent):void
{
this.parent.parent.removeChild(this.parent);
}
簡単です。closeボタンのclickイベントを監督します。イベントのトリガ時にclose Window関数を呼び出します。ここでparentを使いました。簡単に分析します。このswfはすでに他のswfにロードされていますので、this.parentはloaderを指すべきです。this.parent.parentはTimeline 0、つまり舞台を指します。だから、この言葉はよく分かります。ステージからこのswfにダウンロードされたloaderを外します。
ケース2の分析はこれで終わります。
パッケージファイルのダウンロード