为加载 SWF 和图像文件创建进度动画

当您在应用程序中加载大型 SWF 或图像文件时,可能想创建一个动画来显示加载进度。您可以创建一个进度条,在加载动画时显示进度增长。也可以创建一个随文件加载进度而变化的动画。有关加载 SWF 和图像文件的信息,请参阅加载外部 SWF 和图像文件

下面的示例演示如何使用 MovieClipLoader 类和绘图 API 显示图像文件的加载进度。

为加载图像文件或 SWF 文件创建进度条:

  1. 创建一个名为 loadImage.fla 的新 Flash 文档。
  2. 选择“修改”>“文档”,在宽度文本框中键入 700,在高度文本框中键入 500,从而更改文档的尺寸。
  3. 在时间轴中选择第 1 帧,然后在“动作”面板中键入下面的代码:
    // 创建剪辑来承载您的内容
    this.createEmptyMovieClip("progressBar_mc", 0);
    progressBar_mc.createEmptyMovieClip("bar_mc", 1);
    progressBar_mc.createEmptyMovieClip("stroke_mc", 2);
    // 使用绘画方法创建一个进度条
    with (progressBar_mc.stroke_mc) {
       lineStyle(0, 0x000000);
       moveTo(0, 0);
       lineTo(100, 0);
       lineTo(100, 10);
       lineTo(0, 10);
       lineTo(0, 0);
    }
    with (progressBar_mc.bar_mc) {
       beginFill(0xFF0000, 100);
       moveTo(0, 0);
       lineTo(100, 0);
       lineTo(100, 10);
       lineTo(0, 10);
       lineTo(0, 0);
       endFill();
       _xscale = 0;
    }
    progressBar_mc._x = 2;
    progressBar_mc._y = 2;
    //加载进度
    var mclListener:Object = new Object();
    mclListener.onLoadStart = function(target_mc:MovieClip) {
       progressBar_mc.bar_mc._xscale = 0;
    };
    mclListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
       progressBar_mc.bar_mc._xscale = Math.round(bytesLoaded/bytesTotal*100);
    };
    mclListener.onLoadComplete = function(target_mc:MovieClip) {
       progressBar_mc.removeMovieClip();
    };
    mclListener.onLoadInit = function(target_mc:MovieClip) {
       target_mc._height = 500;
       target_mc._width = 700;
    };
    // 创建一个剪辑来承载图像。
    this.createEmptyMovieClip("image_mc", 100);
    var image_mcl:MovieClipLoader = new MovieClipLoader();
    image_mcl.addListener(mclListener);
    /* 将图像加载到剪辑中。
    您可以将下面的 URL 更改为 SWF 或其它图像文件。 */
    image_mcl.loadClip("http://www.helpexamples.com/flash/images/gallery1/images/pic3.jpg", image_mc);
    
  4. 选择“控制”>“测试影片”来查看图像加载并观察进度条。

    注意

     

    如果您是第二次测试此代码,图像将为已缓存状态,因此进度条会立即走完。若要执行多次测试,请使用不同的图像并从外部源加载它们。如果使用本地源测试应用程序,可能会出现问题,因为本地内容的加载速度太快。

有关使用脚本动画创建进度条动画的范例源文件 tweenProgress.fla,请访问“Flash 范例”页,网址为 www.adobe.com/go/learn_fl_samples_cn。下载 Samples zip 文件,然后定位到 ActionScript2.0/Tween Progressbar 文件夹以访问该范例。

有关图片库应用的范例,请访问“Flash 范例”页,网址为 www.adobe.com/go/learn_fl_samples_cn。下载 Samples zip 文件,然后定位到 ActionScript2.0/Galleries 文件夹以访问这些范例:

这些范例提供了有关在向 SWF 文件中加载图像文件时如何使用 ActionScript 动态地控制影片剪辑的信息。


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00001043.html