文章出處

相關文章:通過實例學習AS3.0 --案例一
首先聲明:本人大菜鳥一個,剛接觸AS3不久,許多理念還沒來得及灌輸,這些case都是從網上down的,但因為解說是英文的,不利我們學習,我就充當一個translater,順便可以讓自己鞏固一下知識。
水平有限,錯誤難免,歡迎大蝦小蝦,大鳥小鳥指正。
下面進入正題:
案例2:熟悉addChild和removeChild在不同的swf之間的運用,以及loader的用法
說明:點擊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,然后給監聽按鈕的click事件定義一個showPicture函數,這個函數的功能很簡單,通過addChild把剛剛載入的swf放到舞臺上。
swfB(載入的flash->Popup.swf)
close_btn.addEventListener(MouseEvent.CLICK, closeWindow);
function closeWindow(event:MouseEvent):void
{
this.parent.parent.removeChild(this.parent);
}
很簡潔,監聽close按鈕的click事件,事件觸發時調用closeWindow函數,這里用到了parent,簡單分析一下,由于這個swf已經被載入到另一個swf里,所以this.parent應該指代的是loader,而this.parent.parent則指代的是TimeLine0,也就是舞臺。所以這句話也就比較好理解了:從舞臺上卸下載入該swf的loader。
案例2分析到此結束。
源文件下載



歡迎轉載:http://www.kanwencang.com/bangong/20161206/63784.html

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()