首先聲明:本人大菜鳥一個,剛接觸AS3不久,許多理念還沒來得及灌輸,這些case都是從網(wǎng)上down的,但因為解說是英文的,不利我們學(xué)習(xí),我就充當(dāng)一個translater,順便可以讓自己鞏固一下知識。
水平有限,錯誤難免,歡迎大蝦小蝦,大鳥小鳥指正。
下面進入正題:
案例2:熟悉addChild和removeChild在不同的swf之間的運用,以及l(fā)oader的用法
說明:點擊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); }
AS3里用loader代替了loadMovie,load的時候不能直接添加路徑名,需要通過URLRequest來載入。
整段代碼都很簡單,首先載入Popup.swf,然后給監(jiān)聽按鈕的click事件定義一個showPicture函數(shù),這個函數(shù)的功能很簡單,通過addChild把剛剛載入的swf放到舞臺上。
swfB(載入的flash->Popup.swf)
close_btn.addEventListener(MouseEvent.CLICK, closeWindow); function closeWindow(event:MouseEvent):void { this.parent.parent.removeChild(this.parent); }
很簡潔,監(jiān)聽close按鈕的click事件,事件觸發(fā)時調(diào)用closeWindow函數(shù),這里用到了parent,簡單分析一下,由于這個swf已經(jīng)被載入到另一個swf里,所以this.parent應(yīng)該指代的是loader,而this.parent.parent則指代的是TimeLine0,也就是舞臺。所以這句話也就比較好理解了:從舞臺上卸下載入該swf的loader。
案例2分析到此結(jié)束。
源文件下載
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2807809-1-1.html
本文鏈接:http://m.95time.cn/tech/multimedia/2007/5081.asp
出處:藍色理想
責(zé)任編輯:tada
◎進入論壇RIA設(shè)計與應(yīng)用版塊參加討論
|