欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过实例学习flash AS3.0——案例二

程序员文章站 2023-10-17 19:20:24
相关文章:通过实例学习AS3.0 --案例一 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就... 08-10-06...
相关文章:通过实例学习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分析到此结束。
源文件下载