About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Jul

    15

     如果需要控制嵌入的整个 SWF 资源文件方法如下:

    //方法一:[Embed(source="test.swf" , mimeType="application/octet-stream")]
    package {
     import flash.display.Loader;
     import flash.display.LoaderInfo;
     import flash.display.MovieClip;
     import flash.events.Event;
     public class Test extends MovieClip {
      [Embed(source="test.swf" , mimeType="application/octet-stream")]
      private var SWFBytes:Class;
      private var _loader:Loader;
      public function Test() {
       _loader = new Loader();
       _loader.loadBytes(new SWFBytes());
       _loader.contentLoaderInfo.addEventListener(Event.INIT,_listener);
       function _listener(e:Event):void {
        var _mc:MovieClip = _loader.content as MovieClip;
        _mc.gotoAndStop(2);
        addChild(_mc);
       }   
      }  
     } 
    }


    //方法二: [Embed(source="test.swf")]
    package {
     import flash.display.Loader;
     import flash.display.LoaderInfo;
     import flash.display.MovieClip;
     import flash.events.Event;
     public class Test extends MovieClip {
      [Embed(source="test.swf")]
      private var Swf:Class;
      private var _mc:MovieClip;
      public function Test() {
       _mc = new Swf();
       addChild(_mc);
       var _loaderInfo:LoaderInfo = (_mc.getChildAt(0) as Loader).contentLoaderInfo;
       _loaderInfo.addEventListener(Event.INIT,_listener);
       function _listener(e:Event):void {
        MovieClip(_loaderInfo.content).gotoAndStop(2);
       }
      }
     }
    }

    如果需要控制嵌入的 SWF 资源文件中单个的元件或类,需要使用到 ApplicationDomain 类的实例方法 getDefinition() ,详请参考《[Embed] 元数据标签嵌入高版本的 SWF 资源文件时的一些备忘知识