使用MovieclipLoader & ProgressBar之下载图片
今日试要做一个图片下载的框框。现分享心得如下,请高手多多指教!
要求:
1. 可以得知图片的长,宽
2. 可得知图片的下载进度
方法一:
我先使用loader搭配ProgressBar进行的实验,结果:不能很好的得知图片的长,宽。但他可以很好的让loader和ProgressBar进行下载的进度跟踪动作
方法二:
记得flash8上有人问到过这类问题,是使用MovieClip进行下载的。我使用第二个方法。
(多部分代码来自flash自带的帮助文件)
步骤如下:
step 1:
打开组件,在场景中加入ProgressBar(进度条),且在属性栏中命名为loadvars_pb。
step 2:
在时间线上写入:以下代码即可!
这里的重点是,用MovieClip得到长,宽属性,用ProgressBar得知下载进度。
(代码很多部分来自flash8的帮助,这是我的学习途径之一)- import mx.controls.ProgressBar; //导入类
- var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); //创建一个空MC
- var mcLoader:MovieClipLoader = new MovieClipLoader(); // 创建MovieClipLoader();
- var loadvars_pb:mx.controls.ProgressBar; // 创建进度条
- // 设定进度条模式,共有三种,进度栏加载内容的模式。
- // 此值可以是 "event"(事件模式)、"polled"(轮询模式)或 "manual"(手动模式)。
- loadvars_pb.mode = "manual"; // 注意:这里的选择是manual模式哦。
- var listener:Object = new Object(); //侦听对象
- listener.onLoadComplete = function(target_mc:MovieClip):Void {
- loadvars_pb.visible = false; // 下载完了,隐藏进度条
- }
- listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
- loadvars_pb.setProgress(bytesLoaded, bytesTotal); //用已经下载字节数和总节数填充进度条。
- }
- listener.onLoadInit = function(target:MovieClip):Void {
- // 这里用了两个Label作为显示图片属性
- width_lbl.text = "图片宽:" + target._width;
- height_lbl.text = "图片高:" + target._height;
- }
- mcLoader.addListener(listener);
- mcLoader.loadClip("http://www.w3.org/Icons/w3c_main.png", container);
复制代码 总结:
1,多查帮助
2,多实验找到自己想要的效果
3,多使用现有组件可以加快制作的进度。
/***
* Email: korpton@163.com
* 出自Blog: http://www.oiasoft.com/blog/?detail/200611270
*/
[ 本帖最后由 korpton 于 2006-11-27 09:07 编辑 ] |
-
-
pb_mcl.rar (110.27 KB)