下面的flash,单击右键菜单中选“Load image”看演示。

在Flash中,有Loader类,可以从外部载入一张图片(或swf文件)。但是有个不好的地方就是,不像浏览器那样一边下载一边显示。
所幸的是,Flash提供了Loader.loadBytes方法和URLStream类。
首先,要使用URLStream类,而不是URLLoader。它们的区别就是URLLoader需要等到所有的数据下载完成之后,才能获取。而URLStream可以一边下载,一边就可以取到数据了。
其次,Loader.loadBytes,可以直接发送数据给Loader,而不是让Loader去下载。每一次loadBytes,Loader都会丢弃以前的数据,所以在代码中使用了_data的ByteArray保存数据。
代码如下:

 1 package 
 2 {
 3     import flash.display.Loader;
 4     import flash.display.Sprite;
 5     import flash.display.StageAlign;
 6     import flash.events.ContextMenuEvent;
 7     import flash.events.Event;
 8     import flash.net.URLRequest;
 9     import flash.net.URLStream;
10     import flash.ui.ContextMenu;
11     import flash.ui.ContextMenuItem;
12     import flash.utils.ByteArray;
13     import flash.utils.getTimer;
14     public class Main extends Sprite 
15     {
16         private var _loader:Loader = new Loader();
17         private var _urlstream:URLStream = new URLStream();
18         private var _data:ByteArray = new ByteArray();
19         public function Main():void 
20         {
21             var loadmenu:ContextMenuItem = new ContextMenuItem("Load image");
22             loadmenu.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, this.onLoadImage, false);
23             this.contextMenu = new ContextMenu();
24             this.contextMenu.customItems.push(loadmenu);
25             
26             _urlstream.addEventListener('progress', processData);
27             _urlstream.addEventListener('complete', processData);
28             
29             addChild(_loader);
30             
31             stage.align = StageAlign.TOP_LEFT;
32         }
33         public function onLoadImage(e:Event):void
34         {
35             _loader.unload();
36             _data.length = 0;
37             var url:String = "http://files.cnblogs.com/Greatest/test.jpg.zip";
38             _urlstream.load(new URLRequest(url + "?q=" + getTimer()))
39         }
40         public function processData(e:Event):void
41         {
42             var oldlen:int = _data.length;
43             _urlstream.readBytes(_data, _data.length);
44             if (_data.length > oldlen)
45             {
46                 _loader.loadBytes(_data);
47             }
48         }
49     }
50 }

转载于:https://www.cnblogs.com/Greatest/archive/2009/10/05/1578310.html

Flash中图片的逐步加载相关推荐

  1. 关于TableView中图片的延时加载(转)

    经常我们会用tableView显示很多条目, 有时候需要显示图片, 但是一次从服务器上取来所有图片对用户来浪费流量, 对服务器也是负担.最好是按需加载,即当该用户要浏览该条目时再去加载它的图片. 重写 ...

  2. 优化Flash中的3D模型加载

    2019独角兽企业重金招聘Python工程师标准>>> 来自:Kid's Zone 最近在做一个公司的Flash3D页游项目,遇到了这个问题,前前后后断断续续也优化了一段时间,觉得还 ...

  3. yy 服务器维护中 图片无法显示,解决简书图片不显示问题“系统维护中,图片暂时无法加载”...

    天突然发现之前的文章图片全部都这样了,我还以为图片丢了! 9949918-5bfb96c2b65b9c7e.png 但是其实图片还是可以访问的 配合 Chrome,Safari 扩展程序 Tamper ...

  4. vue中图片和视频加载不出

    问题: 项目中遇到的问题,记录一下 插入背景图后,会出现如下错误,应该是图片找不出 分析: 解决: 解决办法1:打开注册表,到这个路径 "HKEY_LOCAL_MACHINE\SOFTWAR ...

  5. 关于解决 从相册中选择照片后无法剪切图片以及无法加载图片的问题

    程序分析: 主要分两个部分 (1)先拍照,然后剪切,最后显示出来.    (2)从相册中选择一张照片进行剪切然后显示出来 代码参照<第一行代码>,书中的代码运行时(2)出现了问题,无法剪切 ...

  6. 【Web】解决简书图片不显示问题“系统维护中,图片暂时无法加载”

    个人博客: http://www.milovetingting.cn 简书不显示图片的解决方法 首次编辑于2019-6-6 最近几天在浏览简书上的文章时,发现图片显示不出来,提示"系统维护中 ...

  7. Flash 与课件制作:加载图片

    Flash 与课件制作:加载图片 今天下午写了一下这个简单的东西,加载图片.今晚我们玩一下课件的制作,flash 制作课件是一个很实用的东西,能够制造很多动态的效果.当然要制作这些东西花费时间也不少. ...

  8. web页面的js中检测浏览器是否加载flash插件,用来确保视频播放器和flash上传的正常运行

    web页面的js中检测浏览器是否加载flash插件,用来确保视频播放器和flash上传的正常运行 <script type="text/javascript" languag ...

  9. php 图片预览原理,JavaScript_纯JS实现的批量图片预览加载功能,1.实现原理直接见代码,需要一 - phpStudy...

    纯JS实现的批量图片预览加载功能 1.实现原理直接见代码,需要一张转圈的小图片,需要预览的所有图片默认的位置全是这张小图片,滚轮滚到原图需要出现的位置时候,预览加载替换小图片.实现效果 复制代码 代码 ...

最新文章

  1. pip install whl
  2. 使用Redis实现在线点赞系统
  3. 开发日记-20190903 关键词 C程序gcc编译过程
  4. 【Java 虚拟机原理】JDK 体系结构 | Java 源码运行原理 | Java 虚拟机内存
  5. 【题解】Luogu P1011 车站
  6. ArcGIS实验教程——实验三十三:ArcScan自动矢量化完整案例教程
  7. deepin系统转为windows_windows系统下安装深度系统deepin
  8. 【声传播】——球面波的反射
  9. 安装centos7步骤_Centos7下源码编译安装mysql5.7 详细步骤 小白也能安装
  10. 用鼠标获取任意窗口的句柄, 并把它当作干儿子
  11. 小程序 ---- (自定义头部导航)
  12. map字符串转json格式
  13. html提取正文字游戏名,游戏id古诗词 用古诗词取个游戏名字
  14. 啥水平?谷歌程序员:我用东北方言编程
  15. 一键加速,华为云CDN加速满足多行业需要
  16. syntactic sugar - 语法糖 - 糖衣语法
  17. 网络营销的概念及特征是什么?
  18. 中国游戏媒体市场动态前景与竞争策略分析报告(2021-2026年)
  19. Nodejs+socket.io 搭建个人的网页聊天室
  20. 浏览器在线或离线状态检测

热门文章

  1. Linq 使用skip和take分页
  2. P2920 [USACO08NOV]时间管理Time Management
  3. CocoaPods集成ShareSDK
  4. socket编程-客户端向服务器发送字符串,传文件
  5. Android使用HttpURLConnection下载图片
  6. smarty foreach 最全用法
  7. Linux下批量添加用户
  8. ip的增删改查以及网络设定
  9. a+aa+...+aaa..aa表达式输出
  10. python request headers获取_Python爬虫实战—— Request对象之header伪装策略