·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]Loader,URLLoader,URLStream使用方面的区别(2)

时间:2011-09-13 16:18CuPlayer.com
整合资料: (1)Loader Loader 像2.0中MovieClip 的loadMovie 功能,用于加载外部的图片和SWF文件。 如果加载图片文件(jpg,gif,png等)时,Loader.content 得到数据类型是Bitmap 对象; 如果加载SWF文件(flash 9

整合资料:

(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代码
 

  1. package   
  2. {   
  3. import flash.display.Sprite;   
  4. import flash.events.Event;   
  5. import flash.net.URLRequest;   
  6. import flash.net.URLStream;   
  7. import flash.net.URLLoader;   
  8. import flash.utils.ByteArray;   
  9. import flash.net.URLLoaderDataFormat;   
  10. public class Test extends Sprite   
  11. {   
  12. public function Test()   
  13. {   
  14. //testURLLoader();   
  15. testURLStream();   
  16. }   
  17. private function testURLLoader():void   
  18. {   
  19. var urlLoader:URLLoader = new URLLoader();   
  20. urlLoader.dataFormat = URLLoaderDataFormat.BINARY;//原始二进制数据   
  21. urlLoader.addEventListener(Event.COMPLETE, completeHandler);   
  22. urlLoader.load(new URLRequest(“02.xml”));   
  23. }   
  24. private function completeHandler(event:Event):void   
  25. {   
  26. trace(“配置文件是ANSI :” + event.target.data);// 如果配置文件是ANSI等,会出现中文字乱码   
  27. //URLLoader如果遇到乱码,则可以转换(利用标准的xml格式Excle可以解决乱码问题就是基于这里):   
  28. var _byteArray:ByteArray = new ByteArray;   
  29. _byteArray.writeBytes(event.target.data);   
  30. _byteArray.position = 0;   
  31. //如果是xml文档   
  32. var xml:XML = XML(_byteArray.readMultiByte(_byteArray.length, ”chinese”));//简体中文 (GB2312)   
  33. trace(xml);   
  34. }   
  35. private function testURLStream():void   
  36. {   
  37. var stream:URLStream = new URLStream();   
  38. stream.addEventListener(Event.COMPLETE, complete);   
  39. stream.load(new URLRequest(“02.xml”));   
  40. }   
  41. private function complete (event:Event):void   
  42. {   
  43. var stream:URLStream = event.target as URLStream;   
  44. var xml:XML = XML(stream.readMultiByte(stream.bytesAvailable, ”chinese”));//简体中文 (GB2312)   
  45. trace(xml);   
  46. }   
  47. }   

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器