Absolutely. You can get the progress/bytesLoaded/bytesTotal anytime for any loader.
myLoader.prioritize();
trace("current progress: " + myLoader.progress);
If you want to get only the currently loading children of a LoaderMax, you can use its getChildrenByStatus() method.
Does that answer your question?
Not sure that I understand Jack, and I cant seem to figure it out.
Let me try to explain where the hangups in my projects are:
Currently I have created a que that loads four swfs and everything works great. They load fine.
When a user clicks one of four buttons a corresponding .swf from the que is played. This also works perfectly.
When the que begins loading the four .swfs a progress bar animates and a text field displays information about the total mbs loaded and the time remaining.
I need three things to happen that I haven't yet figured out.
First, when a user clicks on one of the four buttons I want to prioritize the loading of the corresponding .swf from the que (which I think is working but I am not sure how to tell)
Second, I want the progress bar and progress information to change from displaying the overall que progress, to the progress of the individual loader/swf being prioritized by the clicked button.
Third, when the user clicks a button and prioritizes a .swf from the que, the .swf is also played. However, it will begin playing even if the .swf is not fully loaded and I don't want that. I only want the .swf to play if it has completed loading.
What I can not figure out how to do currently is:
A. Make the progress information correctly reflect the progress data of the prioritized loader and not the entire loader. Basically i cant figure out how to reference the individual loaders in the que. When I try to reference them by using the the "name" attribute I get an " Variable seq_1 is not defined." error. Which I assume must somehow be related to scope.
B. Check to see if individual loaders have completed loading so I can restrict playback to .swfs that have completed loading only.
Below is the relevant code I am using:
// Vars
var _queue = new LoaderMax({name:"sequenceLoader",onComplete:QueueComplete,onProgress:QueueProgress,onError:QueueError});
// LaoderMax Que
_queue.append( new SWFLoader("interactive_sequence.swf", {name:"seq_1", estimatedBytes:3000, container:this.heroMain_mc.sectionContainer_2_mc.container_mc, autoPlay:false}));
_queue.append( new SWFLoader("motion_sequence.swf", {name:"seq_2", estimatedBytes:3000, container:this.heroMain_mc.sectionContainer_3_mc.container_mc, autoPlay:false}));
_queue.append( new SWFLoader("coming_soon_sequence.swf", {name:"seq_3", estimatedBytes:3000, container:this.heroMain_mc.sectionContainer_4_mc.container_mc, autoPlay:false}));
_queue.append( new SWFLoader("coming_soon_sequence.swf", {name:"seq_4", estimatedBytes:3000, container:this.heroMain_mc.sectionContainer_5_mc.container_mc, autoPlay:false}));
_queue.load();
function QueueProgress(event:LoaderEvent):void
{
// show preloader
Object(this).loader_main_mc.visible = true;
var perc:Number = Math.abs(event.target.bytesLoaded / event.target.bytesTotal) * 100;
var secs:Number = ((1 / event.target.progress) - 1) * event.target.loadTime;
var frameNumber:Number = Math.round(event.target.progress * 100);
this.loader_main_mc.loaderAnimation_mc.gotoAndStop(frameNumber);
this.loader_main_mc.percent.text = String(perc.toFixed(2)) + " %" + " of " + (mbps.toFixed(2)) + " mb";
this.loader_main_mc.time.text = String(secs.toFixed(1)) + " seconds remaining";
//trace("progress: " + event.target.progress);
}
function QueueComplete(event:LoaderEvent):void
{
// hide preloader
Object(this).loader_main_mc.visible = false;
//trace('complete');
}
function QueueError(event:LoaderEvent):void
{
//trace("error occured with " + event.target + ": " + event.text);
}
// Code in button functions
var sec_1_Content = LoaderMax.getContent("seq_1").rawContent;
_queue.prioritize("seq_1");
sec_1_Content.gotoAndPlay(2);
As always any help from anyone is greatly appreciated. Thanks in advance.