返回列表 回复 发帖

使用MovieclipLoader & ProgressBar之下载图片

今日试要做一个图片下载的框框。现分享心得如下,请高手多多指教!

要求:
1. 可以得知图片的长,宽
2. 可得知图片的下载进度

方法一:

我先使用loader搭配ProgressBar进行的实验,结果:不能很好的得知图片的长,宽。但他可以很好的让loader和ProgressBar进行下载的进度跟踪动作

方法二:

记得flash8上有人问到过这类问题,是使用MovieClip进行下载的。我使用第二个方法。
(多部分代码来自flash自带的帮助文件)


步骤如下:

step 1:

打开组件,在场景中加入ProgressBar(进度条),且在属性栏中命名为loadvars_pb。

step 2:

在时间线上写入:以下代码即可!
这里的重点是,用MovieClip得到长,宽属性,用ProgressBar得知下载进度。


(代码很多部分来自flash8的帮助,这是我的学习途径之一)
  1. import mx.controls.ProgressBar; //导入类

  2. var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); //创建一个空MC
  3. var mcLoader:MovieClipLoader = new MovieClipLoader();  // 创建MovieClipLoader();
  4. var loadvars_pb:mx.controls.ProgressBar;  // 创建进度条

  5. // 设定进度条模式,共有三种,进度栏加载内容的模式。
  6. // 此值可以是 "event"(事件模式)、"polled"(轮询模式)或 "manual"(手动模式)。
  7. loadvars_pb.mode = "manual";   // 注意:这里的选择是manual模式哦。

  8. var listener:Object = new Object(); //侦听对象

  9. listener.onLoadComplete = function(target_mc:MovieClip):Void {
  10.        loadvars_pb.visible = false; // 下载完了,隐藏进度条
  11. }
  12. listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
  13.        loadvars_pb.setProgress(bytesLoaded, bytesTotal); //用已经下载字节数和总节数填充进度条。
  14. }
  15. listener.onLoadInit = function(target:MovieClip):Void {
  16.                 // 这里用了两个Label作为显示图片属性
  17.                width_lbl.text = "图片宽:" + target._width;
  18.                height_lbl.text =  "图片高:" + target._height;
  19. }
  20. mcLoader.addListener(listener);
  21. 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)

http://www.oiasoft.com

http://www.celesteteam.com/
支持.顶..
是使用MovieClip进行下载的
用MovieClip得到长,宽属性,用ProgressBar得知下载进度。
这两句的MovieClip的提法,应该是MovieClipLoader类
写错,写错
http://www.oiasoft.com

http://www.celesteteam.com/
返回列表