Flash中图片的逐步加载
在Flash中,有Loader类,可以从外部载入一张图片(或swf文件)。但是有个不好的地方就是,不像浏览器那样一边下载一边显示。
所幸的是,Flash提供了Loader.loadBytes方法和URLStream类。
首先,要使用URLStream类,而不是URLLoader。它们的区别就是URLLoader需要等到所有的数据下载完成之后,才能获取。而URLStream可以一边下载,一边就可以取到数据了。
其次,Loader.loadBytes,可以直接发送数据给Loader,而不是让Loader去下载。每一次loadBytes,Loader都会丢弃以前的数据,所以在代码中使用了_data的ByteArray保存数据。
代码如下:
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中图片的逐步加载相关推荐
- 关于TableView中图片的延时加载(转)
经常我们会用tableView显示很多条目, 有时候需要显示图片, 但是一次从服务器上取来所有图片对用户来浪费流量, 对服务器也是负担.最好是按需加载,即当该用户要浏览该条目时再去加载它的图片. 重写 ...
- 优化Flash中的3D模型加载
2019独角兽企业重金招聘Python工程师标准>>> 来自:Kid's Zone 最近在做一个公司的Flash3D页游项目,遇到了这个问题,前前后后断断续续也优化了一段时间,觉得还 ...
- yy 服务器维护中 图片无法显示,解决简书图片不显示问题“系统维护中,图片暂时无法加载”...
天突然发现之前的文章图片全部都这样了,我还以为图片丢了! 9949918-5bfb96c2b65b9c7e.png 但是其实图片还是可以访问的 配合 Chrome,Safari 扩展程序 Tamper ...
- vue中图片和视频加载不出
问题: 项目中遇到的问题,记录一下 插入背景图后,会出现如下错误,应该是图片找不出 分析: 解决: 解决办法1:打开注册表,到这个路径 "HKEY_LOCAL_MACHINE\SOFTWAR ...
- 关于解决 从相册中选择照片后无法剪切图片以及无法加载图片的问题
程序分析: 主要分两个部分 (1)先拍照,然后剪切,最后显示出来. (2)从相册中选择一张照片进行剪切然后显示出来 代码参照<第一行代码>,书中的代码运行时(2)出现了问题,无法剪切 ...
- 【Web】解决简书图片不显示问题“系统维护中,图片暂时无法加载”
个人博客: http://www.milovetingting.cn 简书不显示图片的解决方法 首次编辑于2019-6-6 最近几天在浏览简书上的文章时,发现图片显示不出来,提示"系统维护中 ...
- Flash 与课件制作:加载图片
Flash 与课件制作:加载图片 今天下午写了一下这个简单的东西,加载图片.今晚我们玩一下课件的制作,flash 制作课件是一个很实用的东西,能够制造很多动态的效果.当然要制作这些东西花费时间也不少. ...
- web页面的js中检测浏览器是否加载flash插件,用来确保视频播放器和flash上传的正常运行
web页面的js中检测浏览器是否加载flash插件,用来确保视频播放器和flash上传的正常运行 <script type="text/javascript" languag ...
- php 图片预览原理,JavaScript_纯JS实现的批量图片预览加载功能,1.实现原理直接见代码,需要一 - phpStudy...
纯JS实现的批量图片预览加载功能 1.实现原理直接见代码,需要一张转圈的小图片,需要预览的所有图片默认的位置全是这张小图片,滚轮滚到原图需要出现的位置时候,预览加载替换小图片.实现效果 复制代码 代码 ...
最新文章
- pip install whl
- 使用Redis实现在线点赞系统
- 开发日记-20190903 关键词 C程序gcc编译过程
- 【Java 虚拟机原理】JDK 体系结构 | Java 源码运行原理 | Java 虚拟机内存
- 【题解】Luogu P1011 车站
- ArcGIS实验教程——实验三十三:ArcScan自动矢量化完整案例教程
- deepin系统转为windows_windows系统下安装深度系统deepin
- 【声传播】——球面波的反射
- 安装centos7步骤_Centos7下源码编译安装mysql5.7 详细步骤 小白也能安装
- 用鼠标获取任意窗口的句柄, 并把它当作干儿子
- 小程序 ---- (自定义头部导航)
- map字符串转json格式
- html提取正文字游戏名,游戏id古诗词 用古诗词取个游戏名字
- 啥水平?谷歌程序员:我用东北方言编程
- 一键加速,华为云CDN加速满足多行业需要
- syntactic sugar - 语法糖 - 糖衣语法
- 网络营销的概念及特征是什么?
- 中国游戏媒体市场动态前景与竞争策略分析报告(2021-2026年)
- Nodejs+socket.io 搭建个人的网页聊天室
- 浏览器在线或离线状态检测
热门文章
- Linq 使用skip和take分页
- P2920 [USACO08NOV]时间管理Time Management
- CocoaPods集成ShareSDK
- socket编程-客户端向服务器发送字符串,传文件
- Android使用HttpURLConnection下载图片
- smarty foreach 最全用法
- Linux下批量添加用户
- ip的增删改查以及网络设定
- a+aa+...+aaa..aa表达式输出
- python request headers获取_Python爬虫实战—— Request对象之header伪装策略