通过实例学习AS3.0:案例(二~五) 案例二

作者:lzyy 翻译   类型:转载   来源:蓝色理想

  • 第1页 案例二
  • 第2页 案例三
  • 第3页 案例四
  • 第4页 案例五
  •   

    相关文章:通过实例学习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分析到此结束。

    源文件下载:different_movies.rar

       责任编辑:silvia    时间:2007年11月26日