设为首页   |  加入收藏夹 快速导航:  热门文章  |  最新文章  |  梦想博客  
当前位置:编程之家 -> 文章频道 ->flash 
站内搜索:  

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

作者:adobe 来源:互联网 整理日期:2008-06-14

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

下面的示例演示如何使用 MovieClipLoader 类和 Drawing 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);
    /* 将图像加载到剪辑中。
    You can change the following URL to a SWF or another image file. */
    image_mcl.loadClip("http://www.helpexamples.com/flash/images/gallery1/
    images/pic3.jpg", image_mc);
    
  4. 选择"控制">"测试影片"来查看图像加载并观察进度条。

    注意

     

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