Ultrashock Forums > Flash > ActionScript
[mini-tutorial] MovieClipLoader

You are currently viewing our website as a guest which gives you limited access to forums, files and other resources.

Click here to join now for free, and start interacting with our members, download files and much more!

Click here if you are looking for our Flash files and other professional assets.
 
Post Reply | View first unread | Rating: Thread Rating: 6 votes, 4.33 average. Search this Thread | Thread Tools | Display Modes
1|2|> Page 1 of 2

#1
Bookmark and Share!
[mini-tutorial] MovieClipLoader
Old 2004-08-04 Last edited by NewEzra : 2004-12-07 at 12:04.

After Flash MX 2004 came out I heard all of these great things about the new MovieClipLoader class and how easy it was to use. So naturally I decided to use it for my new site to make the loading of multiple files as easy as possible. Well, I started searching around for information on the class and I only found some very vague documentation, but I decided to go ahead and push through to get it working. With some help from PEDALSPEED I finally got on the right track.

Because of the lack of information out there I decided to put this up to make it as easy as possible for anyone, even someone new to AS to use this great class. This quick little walkthrough will illustrate how to use an arrays to develop a loading queue for loading multiple files in sequence.

Below is the class with comments explaining everything fairly well so if anything is unclear let me know.
ActionScript Code:
  1. /*********************************************************************/
  2. // ---------------------------- Movie Que ----------------------------/
  3. /*********************************************************************/
  4.  
  5. //Create new instance of the MovieClipLoader
  6. var queCL = new MovieClipLoader();
  7. //Sets the inital value of allLoaded to false
  8. _global.allLoaded = false;
  9.  
  10.  
  11. //
  12. //onLoadStart
  13. // ---------- function executed when the file is just pulled from the
  14. // ---------- server before loading starts
  15. //
  16. queCL.onLoadStart = function(targetMC) {
  17.     //Define the loadProgress of the target movie clip
  18.     var loadProgress = queCL.getProgress(targetMC);
  19.     //sets preload bar to inital scale to 0
  20.     preLoader.bar._xscale = 0
  21. };
  22.  
  23.  
  24. //
  25. //onLoadProgress
  26. // ---------- function executed while the files is being loaded
  27. //
  28. queCL.onLoadProgress = function(targetMC, loadedBytes, totalBytes) {
  29.     //Get the diviser of loaded versus total size
  30.     myDiviser = Math.floor((targetMC.getBytesLoaded()/targetMC.getBytesTotal())*100);
  31.     //Adjust the xscale of the bar as it is being loaded
  32.     preLoader.bar._xscale = myDiviser;
  33. };
  34.  
  35.  
  36. //
  37. //onLoadComplete
  38. // ---------- function executed once the file is finished loading
  39. //
  40. queCL.onLoadComplete = function(targetMC) {
  41.     var loadProgress = queCL.getProgress(targetMC);
  42.     //Ensures that the bar is set at 100 xscale once it is loaded
  43.     preLoader.bar._xscale = 100;
  44.     //Check lenght of loading loading que array
  45.     //If items still remain in the array
  46.     if (objectsToLoadQue.length != 0) {
  47.         //Shifts file last loaded and moves next file up on the list
  48.         objectShifted = objectsToLoadQue.shift();
  49.         targetShifted = targetsQue.shift();
  50.         //Calls the our queCL instance of MovieClipLoader to load next
  51.         //file in the array
  52.         queCL.loadClip(objectShifted, targetShifted);
  53.     //If no items remain in the que array
  54.     } else {
  55.         //Once all the files in the array are loaded it deletes
  56.         //the array.
  57.         delete objectsToLoadQue;
  58.         delete targetsQue;
  59.         preLoader.bar._xscale = 100;
  60.         //All loaded variable is now set to true
  61.         allLoaded = true;
  62.     }
  63. };
  64.  
  65. //
  66. //onLoadInit
  67. // ---------- function executed once the file is loaded and first frame
  68. // ---------- is intialized
  69. queCL.onLoadInit = function(targetMC) {
  70.     //Place inital actions once loaded
  71. };
  72.  
  73. //
  74. //onLoadErrors
  75. // ---------- function executed if an error results during loading
  76. queCL.onLoadError = function(targetMC, errorCode) {
  77.     //Place actions in case of error
  78. };
  79. /*********************************************************************/
  80. //--------------------------------------------------------End Included
  81. /*********************************************************************/

Usage:
ActionScript Code:
  1. //Create instance of the array objectsToLoadQue and targetQue
  2. //objectsToLoadQue = files to be loaded
  3. //targetQue = target movieclips to load into
  4. objectsToLoadQue = new Array();
  5. targetsQue = new Array();
  6. //Fill arrays with values
  7. objectsToLoadQue = ['home_mc.swf', 'homeCenter.swf'];
  8. targetsQue = [_root.myContentPath.holder, _root.centerFlashHolder.holder];
  9. //Starts the intial loadClip and the class handles the rest
  10. queCL.loadClip(objectsToLoadQue[0], targetsQue[0]);

Disclamer - I am not by any means a heavy duty programmer so some might even laugh at some of my methods. I know this works, but if anyone can improve on this feel free. This is all about learning.
Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions. -- Albert Einstein.

www.newezra.com | www.2advanced.com
postbit arrow 72 comments | 13021 views postbit arrow Reply: with Quote   
Registered User
NewEzra is offline
seperator
Posts: 3,580
2002-09-19
Age: 29
NewEzra lives in United States
NewEzra's Avatar
seperator

Ultrashock Member Comments:
NewEzra's Avatar NewEzra NewEzra is offline NewEzra lives in United States 2004-08-04 #2 Old  
One other thing to remember is you will not see any results in the Flash output window if you want to trace to test the loading. As odd as it sounds it just will not work. The workaround is to use a text area component and populate the variables to the text area. What I found that works best is to load a large image file to the web and load it from the flash file to test the preloader.
Reply With Quote  
Prem's Avatar Prem Prem is offline Prem lives in Sri Lanka 2004-08-04 #3 Old  
nice tutorial bluebox_d ! I love it !
Reply With Quote  
ooxford ooxford is offline 2004-08-05 #4 Old  
push
Reply With Quote  
dharmesh dharmesh is offline dharmesh lives in United Kingdom 2004-08-05 #5 Old  
thx bluebox_d
Reply With Quote  
enyrgee enyrgee is offline 2004-08-06 #6 Old  
nice. I've also written a class for sequentially loading files. It basically accomplishes the same thing as yours (though none of these files ever actually show, its just for preloading). It packages up the code and makes it easier to work with (pass it an array, and a free depth, and tell it to start). Anyway, you can check it out here:

ListLoader Class

BTW - Nice site Bluebox, I hadn't seen it yet!
Reply With Quote  
stormBliss stormBliss is offline 2004-08-06 #7 Old  
nice..just what i was looking for.
Reply With Quote  
djrez djrez is offline djrez lives in United States 2004-08-06 #8 Old  
Nice, exactly what I came back here to learn. I can only get the first mc in the array to load. Could someone tell me what is wrong? The following is the only thing I have done. I haven't even made the preLoader.bar yet, so I am confused on how I am already making it complicated for myself.

I used:
ActionScript Code:
  1. queCL.onLoadInit = function(targetMC) {
  2.     targetMC.play();
  3. };
  4.  
  5.  
  6. ObjectsToLoadQue = ['menu.swf', 'logo.swf', 'static.swf'];
  7. targetsQue = [_root.menu_mc, _root.logo_mc, _root.static_mc];
  8. //Starts the intial loadClip and the class handles the rest
  9. queCL.loadClip(ObjectsToLoadQue[0], targetsQue[0]);

If I try:
queCL.loadClip(ObjectsToLoadQue[1], targetsQue[1]);
or:
queCL.loadClip(ObjectsToLoadQue[2], targetsQue[2]);

...those mc's load fine and play (still only 1 MC though). So I know that the clips and containers are named right.

Why won't all 3 load (or play)?
thanks,
rez
Reply With Quote  
NewEzra's Avatar NewEzra NewEzra is offline NewEzra lives in United States 2004-08-06 #9 Old  
did you forget...

ObjectsToLoadQue = new Array();
targetsQue = new Array();
Reply With Quote  
djrez djrez is offline djrez lives in United States 2004-08-06 #10 Old  
Last edited by djrez : 2004-08-06 at 18:09.
No, I didn't forget that. It still doesn't work. I have 3 empty clips on the stage named: menu_mc, logo_mc, and static_mc. Here is my frame 1. Do you see the problem?

ActionScript Code:
  1. #include "lmc_tween.as"
  2. stop();
  3. // ---------------------------- mc preloader ----------------------------/
  4. var queCL = new MovieClipLoader();
  5. _global.allLoaded = false;
  6. queCL.onLoadStart = function(targetMC) {
  7.     var loadProgress = movCL.getProgress(targetMC);
  8.     preLoader.bar._xscale = 0;
  9. };
  10. //
  11. queCL.onLoadProgress = function(targetMC, loadedBytes, totalBytes) {
  12.     myDiviser = Math.floor((targetMC.getBytesLoaded()/targetMC.getBytesTotal())*100);
  13.     preLoader.bar._xscale = myDiviser;
  14. };
  15. queCL.onLoadComplete = function(targetMC) {
  16.     var loadProgress = movCL.getProgress(targetMC);
  17.     preLoader.bar._xscale = 100;
  18.     //Check lenght of loading loading que array
  19.     //If items still remain in the array
  20.     if (objectsToLoadQue.length != 0) {
  21.         //Shifts file last loaded and moves next file up on the list
  22.         objectShifted = objectsToLoadQue.shift();
  23.         targetShifted = targetsQue.shift();
  24.         //Calls the our queCL instance of MovieClipLoader to load next
  25.         //file in the array
  26.         queCL.loadClip(objectShifted, targetShifted);
  27.         //If no items remain in the que array
  28.     } else {
  29.         //Once all the files in the array are loaded it deletes
  30.         //the array.
  31.         delete objectsToLoadQue;
  32.         delete targetsQue;
  33.         preLoader.bar._xscale = 100;
  34.         //All loaded variable is now set to true
  35.         allLoaded = true;
  36.     }
  37. };
  38. //
  39. //onLoadInit
  40. // ---------- function executed once the file is loaded and first frame
  41. // ---------- is intialized
  42. // ---------------------------- Play home mcs ----------------------------/
  43. queCL.onLoadInit = function(targetMC) {
  44.     targetMC.play();
  45. };
  46. //
  47. //onLoadErrors
  48. // ---------- function executed if an error results during loading
  49. queCL.onLoadError = function(targetMC, errorCode) {
  50.     //Place actions in case of error
  51. };
  52. // ---------------------------- first loaded mcs ----------------------------/
  53. ObjectsToLoadQue = new Array();
  54. targetsQue = new Array();
  55. ObjectsToLoadQue = ['menu.swf', 'logo.swf', 'static.swf'];
  56. targetsQue = [_root.menu_mc, _root.logo_mc, _root.static_mc];
  57. //Starts the intial loadClip and the class handles the rest
  58. queCL.loadClip(ObjectsToLoadQue[0], targetsQue[0]);
  59. // ---------------------------- Button Sounds ----------------------------/
  60. blip_snd = new Sound();
  61. blip_snd.attachSound("blip_snd");

rez
Reply With Quote  
macronesia macronesia is offline 2004-08-06 #11 Old  
that sucks i never learned 1.0... as 2.0 is tons easier
Reply With Quote  
NewEzra's Avatar NewEzra NewEzra is offline NewEzra lives in United States 2004-08-06 #12 Old  
Rez... start doing some tracing to see what the value of objectsToLoadQue.length is. That's what should tell it to start looping through the que.

Also, do you have your export options set to AS 2.0?
Reply With Quote  
gump's Avatar gump gump is offline gump lives in New Zealand 2004-08-06 #13 Old  
thanks, appreciate that very much.
Reply With Quote  
djrez djrez is offline djrez lives in United States 2004-08-07 #14 Old  
Busted! See what you get when you cut and paste someone else's code? Just what I deserved. ObjectsToLoadQue has caps in the "usage" suggestion above.

ahhhh... don't you love pressing F12 and finally seeing what you expected over an hour ago?

thanks for the preloader experience,
rez
Reply With Quote  
NewEzra's Avatar NewEzra NewEzra is offline NewEzra lives in United States 2004-08-07 #15 Old  
Originally posted by djrez
Busted! See what you get when you cut and paste someone else's code? Just what I deserved. ObjectsToLoadQue has caps in the "usage" suggestion above.
lol... I fixed it above, so if you want to copy and paste now it should work.
Reply With Quote  
radakast radakast is offline radakast lives in United States 2004-08-07 #16 Old  
lol, its times like this that i feel like such a noob for not knowing you could do that.
Reply With Quote  
kiosk77 kiosk77 is offline 2004-08-07 #17 Old  
MovieClipLoader doesn't work with flash 6.0 does it?
Reply With Quote  
jocabola jocabola is offline 2004-08-10 #18 Old  
no way! at least specifications on help tell Flash Player 7 or above...
Reply With Quote  
laco laco is offline 2004-08-13 #19 Old  
i dont use MovieClipLoader, Bokel has writen Loader Class http://www.helpqlodhelp.com/stuff/lo...rclass1.02.zip
It runs fine too under FP6 and has many cool features
Reply With Quote  
Julian's Avatar Julian Julian is offline Julian lives in United States 2 Creative Assets 2004-08-15 #20 Old  
loadBar not moving
I finally got around to testing out this tutorial and it worked perfect on a new swf I created, but when I tried to build it into my featured work module of my v2 the preloader bar doesn't seem to be moving.

I checked and double checked the path to the bar, so it couldn't be that.

ActionScript Code:
  1. Stage.scaleMode = "noscale";
  2. function fadeOut(object) {
  3.     var fadeTween = new mx.transitions.Tween(object, "_alpha", mx.transitions.easing.Strong.easeOut, 100, 0, 3, true);
  4.     fadeTween.onMotionFinished = function() {
  5.         var fadeFinish = true;
  6.     };
  7. }
  8. var queCL = new MovieClipLoader();
  9. _global.allLoaded = false;
  10. queCL.onLoadStart = function(targetMC) {
  11.     var loadProgress = movCL.getProgress(targetMC);
  12.     bar_mc._xscale = 0;
  13. };
  14. queCL.onLoadProgress = function(targetMC, loadedBytes, totalBytes) {
  15.     myDiviser = Math.floor((targetMC.getBytesLoaded()/targetMC.getBytesTotal())*100);
  16.     bar_mc._xscale = myDiviser;
  17. };
  18. queCL.onLoadComplete = function(targetMC) {
  19.     fadeOut(bar_holder);
  20.     fadeOut(bar_mc);
  21.     mask.play();
  22.     var loadProgress = movCL.getProgress(targetMC);
  23.     bar_mc._xscale = 100;
  24.     if (objectsToLoadQue.length != 0) {
  25.         objectShifted = objectsToLoadQue.shift();
  26.         targetShifted = targetsQue.shift();
  27.         queCL.loadClip(objectShifted, targetShifted);
  28.     } else {
  29.         delete objectsToLoadQue;
  30.         delete targetsQue;
  31.         bar_mc._xscale = 100;
  32.         allLoaded = true;
  33.     }
  34. };
  35. queCL.onLoadInit = function(targetMC) {
  36.     trace("Load Successful");
  37. };
  38. queCL.onLoadError = function(targetMC, errorCode) {
  39.     trace("Error in loading");
  40. };
  41. project = new XML();
  42. project.ignoreWhite = true;
  43. project.onLoad = function() {
  44.     id.text = this.firstChild.childNodes[0].childNodes[0].nodeValue;
  45.     display = this.firstChild.childNodes[1].childNodes[0].attributes.loc;
  46.     address.text = this.firstChild.childNodes[2].childNodes[0].nodeValue;
  47.     client.text = this.firstChild.childNodes[3].childNodes[0].nodeValue;
  48.     tech.text = this.firstChild.childNodes[4].childNodes[0].nodeValue;
  49.     date.text = this.firstChild.childNodes[5].childNodes[0].nodeValue;
  50.     description.text = this.firstChild.childNodes[6].childNodes[0].nodeValue;
  51.     _global.link_length = this.firstChild.childNodes[1].childNodes.length;
  52.     _global.current_link = 1;
  53.     objectsToLoadQue = new Array();
  54.     targetsQue = new Array();
  55.     objectsToLoadQue = [display];
  56.     targetsQue = [targetMC];
  57.     queCL.loadClip(objectsToLoadQue[0], targetsQue[0]);
  58.     for (i=0; i<_global.link_length; i++) {
  59.         links_holder.attachMovie("link", "link"+i, i+1000);
  60.         links_holder["link"+i].link_label.text = i+1;
  61.         links_holder["link"+i].num = i;
  62.         links_holder["link"+i].link_address = this.eval["i"+i]=(this.firstChild.childNodes[1].childNodes[i].attributes.loc);
  63.     }
  64. };
  65. project.load("project.xml");
Reply With Quote  
scarlet10 scarlet10 is offline 2004-08-18 #21 Old  
Never,

queCL.onLoadProgress = function(targetMC, loadedBytes, totalBytes) {
myDiviser = Math.round(loadedBytes/targetMC.totalBytes*100);
bar_mc._xscale = myDiviser;
};

That shud work!
Reply With Quote  
Renjamin's Avatar Renjamin Renjamin is offline Renjamin lives in Canada 2004-08-22 #22 Old  
Great Tutorial.
Reply With Quote  
depth depth is offline 2004-08-24 #23 Old  
bluebox_d --

i noticed you didn't use a listener object with your MovieClipLoader. why not? flash/as help docs all use a listener object.

or more specifically, is there anything that using a listener gives you that you can't get otherwise?
Reply With Quote  
jassh jassh is offline jassh lives in Malaysia 2004-08-24 #24 Old  
since some =one asked about listener..
i want to add some question along the way..

my question, does listener uses the same CPU resource as onEnterFrame?
Is it resource intensive/intrusive??
What does listener do anyway? how does it triggers??
Reply With Quote  
Gleyder Gleyder is offline 2004-09-01 #25 Old  
bluebox_b this may sound funny as ***** but ..Where does the script go? im using the same idea of loading multiple movie clips

thanks in advance
Reply With Quote  
digimat digimat is offline 2004-09-08 #26 Old  
good stuff
Reply With Quote  
ashlaz ashlaz is offline ashlaz lives in India 2004-09-13 #27 Old  
Thanks a lot dudes. I do know the MovieClipLoader class, but this tutorial was great.
Great Going Guys.
Reply With Quote  
PEDALSPEED PEDALSPEED is offline PEDALSPEED lives in United States 2004-09-17 #28 Old  
Originally posted by jassh
since some =one asked about listener..
i want to add some question along the way..

my question, does listener uses the same CPU resource as onEnterFrame?
Is it resource intensive/intrusive??
What does listener do anyway? how does it triggers??
My understanding:

onEnterFrame uses no resources. Moving an Object.onEnterFrame would use up resources.

The playhead is always moving at a user-defined framerate.

To define your question: Are listeners attached to setIntervals or onEnterFrames?

SetIntervals are frame rate dependent.
Reply With Quote  
AVisioN AVisioN is offline 2004-09-26 #29 Old  
SetIntervals are frame rate dependent.
Since SetInterval works with milliseconds, how can it be that it`s frameDependend.
Isn`t it true that the listener is frame dependend?
Reply With Quote  
Julian's Avatar Julian Julian is offline Julian lives in United States 2 Creative Assets 2004-09-29 #30 Old  
I'm back to preloading...again.

One thing I don't understand is why you use movCL.getProgress(targetMC);. Aren't you suppose to use the name of your MovieClipLoader? Also I don't see where you define movCL, maybe I'm just missing it since it's late or something.

Method; returns the number of bytes loaded and total number of bytes for a file that is being loaded using MovieClipLoader.loadClip(); for compressed movies, it reflects the number of compressed bytes. This method lets you explicitly request this information, instead of (or in addition to) writing a MovieClipLoader.onLoadProgress listener function.
Cheers,
-Neverrain
Reply With Quote  
NewEzra's Avatar NewEzra NewEzra is offline NewEzra lives in United States 2004-09-30 #31 Old  
Originally posted by Neverrain
One thing I don't understand is why you use movCL.getProgress(targetMC);. Aren't you suppose to use the name of your MovieClipLoader?
movCL is the name of the MovieClipLoader. The targetMC is the var being used in the function. When you call the funtion it will refer to the targetMC that you are calling.

Originally posted by Neverrain
Also I don't see where you define movCL, maybe I'm just missing it since it's late or something.
var queCL = new MovieClipLoader();

That's where the MovieClipLoader is being defined
Reply With Quote  
Julian's Avatar Julian Julian is offline Julian lives in United States 2 Creative Assets 2004-09-30 #32 Old  
var queCL = new MovieClipLoader();

That defines movCL? Why isn't it more like this then?

var movCL = new MovieClipLoader();
Reply With Quote  
rowdypig rowdypig is offline 2004-10-21 #33 Old  
Yeah, I am glad someone else got confused here. I have read the scripts for more than a dozen pre-loaders and they all have some random lack of declaration for the object to which the methods getProgress, etc. are applied. It's as though movCL in the above example is some "generic" or temporary variable that is never used other than to extract the results of the method. But still, why doesn't anyone discuss it? Thanks Neverrain for asking...I'm curious too.
Reply With Quote  
exuk exuk is offline 2004-10-23 #34 Old  
Could someone post a fla file for this thread?
Reply With Quote  
 Mime 2004-11-02 #35 Old  
This might help some people who just want to load one swf at a time in an easy and simple manner with actionscript 2.0 (using the player 7).

Paste this on keyframe 1 actions of your master.swf: (I will call this the mcl BLOCK between the mcl line comments for later reference.)

// ------------<MCL>------------ \\
var myMCL:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();
myListener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
_level50._visible = true;
var preloadPercent:Number = Math.round((loadedBytes/totalBytes)*100);
_level50.preloader.gotoAndStop(preloadPercent);
_level50.preloadInfo1.text = preloadPercent + " %";
_level50.preloadInfo2.text = Math.round(loadedBytes/1000) + " K / " + Math.round(totalBytes/1000) + "K";
}

myListener.onLoadComplete = function(target_mc) {
_level50._visible = false;
}
myMCL.addListener(myListener);
// ------------</MCL>------------ \\


/* the next action below this comment loads in your actual preloader.swf onto level 50 or a higher number but must be a number above all other levels. The preloader is just a 100 keyframe animation of yours such as a growing line or image representing your loading progress made into an MC and given an instance name of preloader. The above script has two lines of code which mention preloadInfo1.text and preloadInfo2.text... you can have 2 dynamic text fields on your preloader animation to show the percent totals in numbers also if you like...just remember to give them instance names of preloadInfo1 and preloadInfo2. Make sure you have a stop(); action inside the preloader movie clip on the first keyframe so it doesn't animate until we tell it to)*/

myMCL.loadClip("preloader.swf", 50);

//below is something that prompts an error if something fails

// ------------<LoadVars>------------ \\
var myLV:LoadVars = new LoadVars();

myLV.onLoad = function (success) {
if (success) {
_level5.loadedInfo.htmlText = myLV.info;
} else {
_level5.loadedInfo.text = "There has been an error loading the content, please contact the webmaster to let him/her know. Thank you.";
}
}
// ------------</LoadVars>------------ \\

//REMEMBER THIS COMMENT IN CAPITAL LETTERS FOR LATER.

/*if in doubt just paste all this stuff ABOVE THIS COMMENT in keyframe 1 of the actions layer on your master main root swf.*/

__________________________________

Now to the Preloader.fla

paste this in keyframe 1 of your actions layer on the front page of preloader.fla. (the page which has your closed preloader MC in the middle of the page).

/*this tell the dynamic text fields to adjust if necessary for the size of the percent number increase.*/

this.preloadInfo1.autoSize = "left";
this.preloadInfo2.autoSize = "right";

/* don't forget to have a stop action inside the preloader movie clip animation on it's first keyframe as mentioned further up.*/


/* From now on all you have to do to load in swf's and have the preloader do it's thing is as follows: Where it says REMEMBER THIS COMMENT IN CAPITAL LETTERS FOR LATER further up you would type as below*/

myMCL.loadClip("menu.swf", 6);

/*this loads in your main menu page - mine is called menu.swf and i chose level 6 to load it into. All of that stuff above now boils down to just saying myMCL.loadClip (blahblah.swf, layer number or movieclip name); each time you want to load something in using the preloader.*/

/* finally for each other page in your site that contains buttons with which you will load in content using this preloader you should paste the mcl BLOCK mentioned above into the same place on those pages.

I hope this is of some use to people out there.

I didn't write it myself, i just learn't it via Lynda.com Flash tutorials (which i recommend) and have found it very useful as are many of their training videos.
Reply With Quote  
thaGizmo thaGizmo is offline 2004-11-16 #36 Old  
Hi all, i have tried before to write a class like this, but always ran into problems with:

a. Viewing the preload progress in the IDE (seems there are problems with onLoadProgress in the IDE)
b. Trying to add 'load onto level' instead of creating a MC for every load.

Are these problems both solvable? Until then i'll keep using the loaderclass mentioned above (which works great btw, but just isn't clear as2.0 unfortunately)
Reply With Quote  
macronesia macronesia is offline 2004-12-11 #37 Old  
onloadprogress only works in the browser.

this is helping me... glad i found it.
Reply With Quote  
macronesia macronesia is offline 2004-12-11 #38 Old  
anyone know how to play an SWF animation instead of text?

i really need to find out.
Reply With Quote  
macronesia macronesia is offline 2004-12-11 #39 Old  
bluebox's PM INBOX IS FULL...

no... i had a Q about how he made new ezra's transitions.
Reply With Quote  
macronesia macronesia is offline 2004-12-18 #40 Old  
guys, bluebox you use que as an MCL class, you don't even have a listener... thus making the code invalid.
Reply With Quote  
1|2|> Page 1 of 2
Thread Tools
Display Modes Rate This Thread
Rate This Thread: