Flash Loader Flex

2008-6-12 21:27:37

   我一直都以为Flex里面可以loader flash编译的swf,而倒过来不行。这样的错误认知是建立在几次不成功的尝试以及朋友之间的交流。

    但其实,从原理上来说,这是不可被理解的,大家都是swf,用的都是同一个虚拟机,虽然实现不同,但是底层是相同的。

    所以,今天我和我的同事又再次尝试了一次,出乎我的意料,丝毫没有周折的,flash 很容易的loader了flex编译的swf,我有点脸红,并开始反思原因,为什么我之前都会失败呢?

    实现的代码相当之简单

   package { 
         import flash.display.Loader;
         import flash.display.MovieClip;
         import flash.events.Event;
         import flash.net.URLRequest;

         [SWF(width="320", height="320",frameRate="24",backgroundAlpha="0")]
         public class test1 extends MovieClip
         {
                 private var _loader:Loader         
  
                public function test1()                
                {
                    this._loader = new Loader()                
                    this._loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete)
                    this._loader.load( new URLRequest("flexTest.swf"))
                }
  
               private function onComplete(e:Event):void
               {
                  this.addChild( e.target.content );
               }
         }
   }

   其实问题出在 this.addChild( e.target.content );经过测试发现,当loader成功,而不将loader进来的对象加入显示列表的时候就会报错,而我之前几次的尝试都没有做这一步,这是一个很小的问题,发一篇blog,一来感谢我的同事,二来郑重的更正我之前认识。
 

 

点击这里获取该日志的TrackBack引用地址
上一篇: 《天地志》!天地会出AS3原创杂志啦下一篇: 单位开发的嵌入端产品(piao6.net)
发布:dmh2002 | 分类:Flash | 评论:3 | 引用:0 | 浏览:

评论:

  • quote 2.mani
  • 呵呵, 好像Loader不是容器, 只负责加载数据而已, 如果用Flex里的ModuleLoader就不会出现这样的问题.
    可惜看不到Loader的源码呢 flash包里的源码哪里看的到?
  • 2008-8-29 11:34:34 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。