AS3.0 實(shí)例學(xué)習(xí) 熟悉addChild和removeChild在不同的swf之間的運(yùn)用,以及l(fā)oader的用法
案例2:熟悉addChild和removeChild在不同的swf之間的運(yùn)用,以及l(fā)oader的用法
說明:點(diǎn)擊picture會載入另一個swf,點(diǎn)擊載入的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é)束。
相關(guān)文章
Flash ActionScript 中按鈕和電影剪輯的事件和方法
Flash ActionScript 中按鈕和電影剪輯的事件和方法...2007-03-03Flash兩個上傳示例ASP和PHP(原文件下載,包括后臺程序)
Flash兩個上傳示例ASP和PHP(原文件下載,包括后臺程序)...2006-11-11