(转载自FLEX开发乐园 [ http://www.flexswf.com ])
AS3代码
(1) Loader
Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件。 使用 load() 方法来启动加载。 被加载的显示对象将作为 Loader 对
象的子级添加。
(2) URLLoader
URLLoader 类以文本、二进制数据或 URL 编码变量的形式从 URL 下载数据。 在下载文本文件、XML 或其它用于动态数据驱动应用程序的
信息时,它很有用。
URLLoader 对象会先从 URL 中下载所有数据,然后才将数据用于 ActionScript。 它会发出有关下载进度的通知,通过 bytesLoaded 和
bytesTotal 属性以及已调度的事件,可以监视下载进度。
在加载非常大的视频文件(如 FLV 的视频文件)时,可能会出现内存不足错误。
(3) URLStream
URLStream 类提供对下载 URL 的低级访问。 数据一下载,便可随即为应用程序使用,这和使用 URLLoader 时需要等到整个文件下载完不
同。并且 URLStream 类还允许在完成下载前关闭流。 已下载文件的内容将作为原始二进制数据提供。
在 URLStream 中的读取操作是非阻塞模式的。 这意味着您在读取数据之前必须使用 bytesAvailable 属性来确定是否能够获得足够的数据
。 如果不能获得足够的数据,将引发 EOFError 异常。
在默认情况下,所有二进制数据都是以 Big-endian 格式编码的,并且最高位字节于第一位。
整合资料:
(1)Loader
Loader 像2.0中MovieClip 的loadMovie 功能,用于加载外部的图片和SWF文件。
如果加载图片文件(jpg,gif,png等)时,Loader.content 得到数据类型是Bitmap 对象;
如果加载SWF文件(flash 9 版本)时,Loader.content 得到数据类型是MovieClip 对象;
如果加载SWF文件(flash 9 以前版本) 时, Loader.content 得到数据类型是AVM1Movie 对象;
(2)URLLoader
(3)URLStream
下面我做了一个实例将被加载的配置文件以二进制数据读取 ,这可以解决很多问题,比如对不同格式配置文件进行的处理
例如:
AS3代码
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLStream;
import flash.net.URLLoader;
import flash.utils.ByteArray;
import flash.net.URLLoaderDataFormat;
/**
* …
* @author lbynet
*/
public class Test extends Sprite
{
public function Test()
{
//testURLLoader();
testURLStream();
}
private function testURLLoader():void
{
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;//原始二进制数据
urlLoader.addEventListener(Event.COMPLETE, completeHandler);
urlLoader.load(new URLRequest(“02.xml”));
}
private function completeHandler(event:Event):void
{
trace(“配置文件是ANSI :” + event.target.data);// 如果配置文件是ANSI等,会出现中文字乱码
//URLLoader如果遇到乱码,则可以转换(利用标准的xml格式Excle可以解决乱码问题就是基于这里):
var _byteArray:ByteArray = new ByteArray;
_byteArray.writeBytes(event.target.data);
_byteArray.position = 0;
//如果是xml文档
var xml:XML = XML(_byteArray.readMultiByte(_byteArray.length, ”chinese”));//简体中文 (GB2312)
trace(xml);
}
private function testURLStream():void
{
var stream:URLStream = new URLStream();
stream.addEventListener(Event.COMPLETE, complete);
stream.load(new URLRequest(“02.xml”));
}
private function complete (event:Event):void
{
var stream:URLStream = event.target as URLStream;
var xml:XML = XML(stream.readMultiByte(stream.bytesAvailable, ”chinese”));//简体中文 (GB2312)
trace(xml);
}
}
}
分享到:
相关推荐
flash as3 加载外部swf jpg gif png loader urlloader的通用代码
URLLoader(URLStream) FlashRemoting XMLSocket(Socket) FMS/FCS
Flex之URLLoader加载XML 使用URLLoader加载XML
AS3 中使用 URLRequest 和 URLLoader 与服务器交互
as3中用URLLoader动态加载XML
LOADER下载素材 区分LOADER和URLLOADER的区别
AS3 中使用 URLRequest 和 URLLoader 与服务器交互
包裹插件网址加载器在js和css使用base64编码文件(包括sass / less等) 插件将取消链接production文件(parcel env)安装yarn add parcel-plugin-url-loader --dev ornpm i parcel-plugin-url-loader --save-dev用法...
第十二节 URLLoader与后台交互.docx
loader = new URLLoader(Request); callBack = _returnMethod; loader.addEventListener(Event.COMPLETE, completeHandler); } //查询完成时调用此函数 private function completeHandler(ev:...
Flex与后台交互的方法_HTTPService_WebService_URLLoader
使用image-webpack-loader的优化器 安装 # npm $ npm install craco-image-optimizer-plugin # yarn $ yarn add craco-image-optimizer-plugin 用法 我们正在使用image-webpack-loader选项 有关设置,请参见 // ...
二是既需要发送数据,也需要返回数据,则使用Loader对象的load()方法来实现。 通常的数据发送需要执行下面的两步操作: 1> 将需要提交的数据放入URLRequest对象的data属性中,然后使用URLLoader对象的load()方法...
网址加载器 Yii2 的多线程下载器链接。...要使用此扩展,只需在应用程序配置中添加以下代码: return [ //.... 'components' => [ 'urlLoader' => [ 'class' => 'paulzi\urlloader\UrlLoader' , // 'on success'
网址加载器只是一个简单的网页加载器:3我经常忘记这些东西:3,而从其他项目中查找却是一件痛苦的事情:3现在它将被保存:v
本篇文章小编将为大家介绍JS跨域取XML--借助AS的URLLoader,有需要的朋友可以参考一下
这只是 ContentCache 的副本,几乎没有更改:我使用的是 URLLoader,而 ContentRequest.content 指向 URLLoader。 用法与 BitmapImage 类相同。简单的例子 var contentRequest:ContentRequest = contentLoader.load...
NULL 博文链接:https://zmx.iteye.com/blog/810219