WEB开发网
开发学院图形图像Flash AS3.0的Loader和URLRequest加载示例 阅读

AS3.0的Loader和URLRequest加载示例

 2012-02-06 12:14:21 来源:本站整理   
核心提示:在As3.0中,加载外部图片/文本/XML/SWF/SWC可以说是家常便饭,一般地,AS3.0的Loader和URLRequest加载示例,我们习惯使用Loader和URLRequest来加载,其使用如下: class LoaderExample { private var loader:Loader; pu

在As3.0中, 加载外部图片/文本/XML/SWF/SWC可以说是家常便饭,一般地,我们习惯使用Loader和URLRequest来加载,其使用如下:
 

  1. class LoaderExample  
  2. {  
  3.      private var loader:Loader;  
  4.      public function LoaderExample(){  
  5.      loader = new Loader();  
  6.      loader.load(new URLRequest("myswf.swf" ) );  
  7.      loader.loaderInfoContent.addEventListener(Event.COMPLETE, completeHandler);  
  8.      }  
  9.      public function completeHandler(e:Event):void  
  10.      {  
  11.      var target:* = e.target,content;(当load的是swf,

    那么target为MovieClip类型,当为XML时,target则是XML类型.)         

虽然这样的方法很简单,但并不是适用于每一种情况,我曾经试过,同样的代码,加载我的swf,运行正常,但到了第二天,我用flash IDE打开,enter+ ctrl测试影片却突然不确了,监听Complete和IOError都没有执行,搞了半天都不知什么情况,于是改用了二进制加载方法,也是本文重点介绍的。
 

  1. class LoaderExample  
  2. {  
  3.      private var stream:URLStream;  
  4.      public function LoaderExample(){  
  5.      streamnew URLStream();  
  6.      stream.load(new URLRequest("myswf.swf" ) );  
  7.      stream.addEventListener(Event.COMPLETE, completeHandler);  
  8.      }  
  9.      public function completeHandler(e:Event):void  
  10.      {  
  11.      var target:* = e.target,content;(当load的是swf,

    那么target为MovieClip类型,当为XML时,target则是XML类型)         

   哈哈,也很简单吧。当然URLStream 类提供的是对下载 URL 的低级访问。 数据一下载,便可随即为 ActionScript 使用,这和使用 URLLoader 时需要等到整个文件下载完不同。 并且 URLStream 类还允许在完成下载前关闭流。 已下载文件的内容将作为原始二进制数据提供。 在 URLStream 中的读取操作是非阻塞模式的。 这意味着您在读取数据之前必须使用 bytesAvailable 属性来确定是否能够获得足够的数据。 如果不能获得足够的数据,将引发 EOFError 异常。

Tags:AS Loader URLRequest

编辑录入:coldstar [复制链接] [打 印]
赞助商链接