Flash Lite 2.x and 3.0 ActionScript Language Reference

getProgress (MovieClipLoader.getProgress method)

public getProgress(target:Object) : Object

Returns the number of bytes loaded and total number of bytes for a file that is being loaded by using MovieClipLoader.loadClip(); for compressed movies, the getProgress method reflects the number of compressed bytes. The getProgress method lets you explicitly request this information, instead of (or in addition to) writing a MovieClipLoader.onLoadProgress listener function.

Parameters

target:Object - A SWF, JPEG, GIF, or PNG file that is loaded using MovieClipLoader.loadClip().

Returns

Object - An object that has two integer properties: bytesLoaded and bytesTotal.

Example

The following example demonstrates usage of the getProgress method. Rather than using this method, one will usually create a listener object and listen for the onLoadProgress event. Another important note about this method, is that the first, synchronous call to getProgress can return the bytesLoaded and bytesTotal of the container and not the values for the externally requested object.

var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
var image:MovieClip = container.createEmptyMovieClip("image", container.getNextHighestDepth());

var mcLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
    trace(target + ".onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal); 
}
mcLoader.addListener(listener);
mcLoader.loadClip("http://www.w3.org/Icons/w3c_main.png", image);

var interval:Object = new Object();
interval.id = setInterval(checkProgress, 100, mcLoader, image, interval);

function checkProgress(mcLoader:MovieClipLoader, image:MovieClip, interval:Object):Void {
    trace(">> checking progress now with : " + interval.id);
    var progress:Object = mcLoader.getProgress(image);
    trace("bytesLoaded: " + progress.bytesLoaded + " bytesTotal: " + progress.bytesTotal);
    if(progress.bytesLoaded == progress.bytesTotal) {
        clearInterval(interval.id);
    }
}

See also

loadClip (MovieClipLoader.loadClip method), onLoadProgress (MovieClipLoader.onLoadProgress event listener)