`
minner
  • 浏览: 53862 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
文章分类
社区版块
存档分类
最新评论

AS3中URLStream, URLLoader, Loader和URLRequest

阅读更多
1、AS3的强制类型转换
var loader:URLLoader = URLLoader(event.target);

var loader:URLLoader = event.target as URLLoader;

2、URLStream和URLLoader

URLStream直接支持多种编码;
URLLoader默认只直接utf-8,其它则会出现乱码,可以通过ByteArray对象转换
//var ba:ByteArray = ByteArray(URLLoader(event.target).data);
//var rhtml:String = ba.readMultiByte(ba.length, “gb2312″);

//var us:URLStream = event.target as URLStream;
//var xmldata:String = us.readMultiByte(us.bytesAvailable,"UTF-8");



public class MoxieAS extends Sprite
{
public function MoxieAS ()
{
var stream:URLStream = new URLStream;

stream.addEventListener(Event.COMPLETE, complete);
stream.load(new URLRequest(\"ttt.xml\")); // <root><a /><b /><c /></root>
}

private function complete (event:Event):void
{
var stream:URLStream = event.target as URLStream;
var xml:XML = XML(stream.readUTFBytes(stream.bytesAvailable));

trace(xml.*.length()); // output 3
}
}

3、URLRequest

URLStream、URLLoader、Loader等读取外部数据的类,里的load方法参数值是URLRequest对象。
// var request:URLRequest = new URLRequest("httpURL地址");
// loader.load(request);

4、Loader

在使用Loader来加载数据时,添加侦听事件时,注重一定要给Loader的 contentLoaderInfo属性增加事件,而不是给Loader对象增加事件。

错误写法:
var loader:Loader = new Loader();
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

正确写法:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

5、Loader加载过来的数据类型
//var bitmap:Bitmap = Bitmap(loader.content);

大家知道Loader是用来代替原来 MovieClip的loadMovie功能,用于加载外部的图片文件,SWF文件。

假如加载图片文件(jpg,gif,png等)时,Loader.content得到数据类型是Bitmap对象;
假如加载SWF文件(flash 9 版本)时,Loader.content得到数据类型是MovieClip对象;
假如加载SWF文件(flash 9 以前版本) 时, Loader.content得到数据类型是AVM1Movie对象;
6、stage

在调试flash过程发现,假如把swf文件放到html页面后,stage.stageWidth和stage.stageHeight在第一次加载调用时,他们的值为空值;

7、 AVM1Movie

假如是AVM1Movie 对象时,就不能直接调用stop,play,gotoAndStop等原来MovieClip对象的功能了,而且不能将AVM1Movie 对象转换成MovieClip对象。目前解决办法:一种是用flash cs3 重新生成 flash 9的swf文件;另一种是国外网站有说能AVM1和AVM2两个虚拟机相互调用的方式(贴一个地址);

8、mask

在使用遮罩功能,发现一个问题,假如不把用于遮罩的显示元件通过addChild方法添加到同一级的显示容器里的话,遮罩效果就显示不正常,不知道这个是不是一个bug。我差点因为这个问题而放弃AS3改用AS2了。
分享到:
评论

相关推荐

    as和后台通讯 URLLoader(URLStream) FlashRemoting XMLSocket(Socket) FMS/FCS

    综上所述,AS和后台通讯涉及多种技术,包括URLLoader和URLStream用于简单的HTTP请求,FlashRemoting通过AMF协议实现高效远程调用,XMLSocket提供低延迟的双向通信,而FMS/FCS则提供了流媒体和高级实时交互的支持。...

    最经常遇到的AS3面试题

    本文将对AS3面试中经常遇到的问题进行总结和解释,涵盖了动态加载资源、事件机制、数据类型、字符串处理、垃圾回收器、Flex与后台语言交互等多个方面的知识点。 1. Loader, URLLoader, URLStream的使用场合和区别 ...

    MP3播放器用as实现

    AS3的Sound对象支持URLStream或URLRequest来实现这一点。 在编码过程中,还需要关注错误处理和用户体验优化。例如,当MP3文件无法加载或播放时,应提供适当的错误提示;同时,添加播放、暂停、停止、音量控制等基本...

    自己写的flash读取xml文件 初学者适用

    在Flash中,可以使用AS3(ActionScript 3.0)的`XML` 类来加载、解析和操作XML文件。以下是一些基本操作: 1. 加载XML文件:首先,你需要创建一个`URLLoader`对象来加载XML文件,然后使用`Event.COMPLETE`事件监听...

    flash ActionScript.3面试题1

    Loader、URLLoader、URLStream 的具体使用场合及其区别 - **Loader**:主要用于加载 SWF 文件或图像(包括 JPG、PNG 或 GIF 格式)。当需要加载这些类型的资源时,通常会使用 `Loader` 类。通过调用 `load()` 方法...

    Flex面试题一宣贯.pdf

    10. ActionScript 3的电影剪辑操作:如使用Loader类加载SWF文件,以及使用URLLoader、URLStream类处理URL请求。 11. ActionScript 3中的数学函数和类型转换:Math类提供各种数学方法,如round、floor、ceil等,用于...

    Flash使用XML与后台交互详细教程[ASP].doc

    xmlData = new XML(urlStream.data as String); processXML(xmlData); } ``` 2. **处理XML数据**: - 使用`XML`类的方法和属性来解析和操作XML数据。 - 例如,可以通过`children()`获取所有子节点,通过`@...

    Flex 使用URLStream读取服务器端图片文件流并显示

    在flex中显示服务器端的图片可以使用Image控件的source属性,但是这个条件...这种情况下可以使用flex中的URLStream类来读取文件流,然后把文件显示到画面上。 使用本例子,必须在C:/放置一个名字为“head.PNG”的图片

    本地播放器(ActionScript 3.0实现)

    Loader类适合加载SWF、图片和XML等资源,而URLStream则用于加载纯文本或二进制数据。对于视频文件,通常使用URLStream来读取流媒体内容。 4. **事件处理** 在播放器中,事件处理是关键。例如,VideoEvent缓冲区...

    asp批量上传,flash版本

    这里可以使用Flash的URLStream类或者URLRequest类来实现。 4. **服务器处理**:在ASP端,接收到POST请求后,解析请求中的文件数据,将其保存到服务器的指定位置。ASP中可以使用Request对象来获取上传的文件信息,如...

    ASP.net+Flash上传文件且有进度条

    在Flash中,通过监听URLStream的progress事件,可以获取已上传的数据量和总数据量,计算并更新进度条的值。同时,你可能还需要一个服务器端的接口来反馈当前的上传状态,以便Flash进行实时更新。 5. **处理响应**...

    Arduino 音频工具(音乐播放器、支持 I2S 的音乐录音机、麦克风、DAC、ADC、A2DP、Url、MP3_c语言

    Arduino 音频工具(音乐播放器、支持 I2S 的音乐录音机、麦克风、DAC、ADC、A2DP、Url、MP3...Internet 上的文件 – URLStream 流媒体网络收音机 - ICYStream 生成的声音 – GeneratedSoundStream 手机 A2DP 蓝牙 – A

    Flash 声音频谱

    在Flash中,我们可以使用第三方库,如AS3DSP或FlashFft,它们提供了FFT算法。将音频样本数据输入FFT,就能得到频域表示的音频,从而构建频谱图。 五、绘制频谱图 有了频谱数据,我们就可以在舞台上创建图形元素(如...

    java flash 文件上传 下载导入eclipse可以用

    3. 如果项目中包含其他Java源代码(如Servlet),确保它们被正确地放在`src`目录下,并在`WEB-INF/web.xml`中配置相应的Servlet映射。 4. 配置服务器,如Tomcat,确保它已安装并在Eclipse中集成。 5. 在Eclipse中...

    聊天室(ActionScript 3.0实现)

    ActionScript 3.0中的`flash.net.Socket`类或`flash.net.URLStream`类可以用来与服务器建立连接,进行数据交换。你需要理解如何创建连接,发送和接收数据包,以及解析这些数据以显示在聊天界面上。 2. **事件驱动...

    Jsp抓取页面内容

    ### JSP抓取页面内容详解 #### 一、引言 在Web开发中,有时候我们需要从其他网站抓取数据,并将其展示在自己的网页上。这种需求可以通过多种方式实现,其中一...然而,在实际应用中还需考虑更多的安全性和性能因素。

    C# silerlight上传下载介绍

    本文将详细介绍如何使用`WebClient`类在Silverlight 2.0中以字符串和流的形式进行数据的上传与下载。 #### 二、WebClient类简介 `WebClient`类提供了多种方法来实现数据的上传与下载功能,其中包括了基于字符串和...

    PHP+Flash头像图片上传并裁切

    在本文中,我们将深入探讨如何使用PHP和Flash技术来实现一个功能完善的头像图片上传及裁切系统。这个系统的特点是允许用户无刷新...在实际开发过程中,还需要根据具体需求进行调整和优化,确保系统的稳定性和可维护性。

    JAVA (Jsp)利用Google的Translate开发API

    3. **主函数**: - 实例化`GoogleTranslator`对象。 - 调用`GetText`方法并传入待翻译的文本。 - 输出翻译结果。 #### 示例代码分析 ```java public class GoogleTranslator { // 获取URL内容 public String ...

    基于jquery实现的Flash加载远程图片带进度条显示效果.zip

    在实际项目中,这种技术可能会与其他库或框架结合,例如Bootstrap的进度条组件,或者使用Promise和async/await来管理异步加载流程,使得代码更加整洁和易于维护。同时,考虑到现代浏览器的安全性和性能,优先使用...

Global site tag (gtag.js) - Google Analytics