| 系统系 | - 操作系统 - 工具软件 - 病毒安全 - Vista专区 | WEB2.0 | - 奇趣 - 发现分享 - 评论员文章 - 沈阳网站制作 | 视 频 | - 体育 - 娱乐 - 科技 - 教程 |
| 办公系 | - Word - Excel - Powerpoint - 圣诞祝福 | 动画系 | - Flash - Ascript - Flex - MsE Design 教程 | 编程系 | - Asp - Asp.Net - Php - Jsp、Java - CGI/perl |
| 艺术系 | - 酷赏 - 工业 - 建筑 - 界面 - 平面 - 视觉 | 网站系 | - HTML/Xhtml - Js、Ajax - Css - XML、XSLT | 下 载 | - 图形图像 - 多媒体 - 系统办公 |
案例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://bbs.blueidea.com/thread-2807809-1-1.html