AS3.0 实例学习 熟悉addChild和removeChild在不同的swf之间的运用,以及loader的用法

 更新时间:2007年12月12日 21:53:34   投稿:mdxy-dxy  
这篇文章通过实例给大家介绍了AS3.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)

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分析到此结束。

打包文件下载

相关文章

最新评论