|
||||||
|
Flash - Load Movies into Levels and Movie clips
201
KeyWords
Flash Compatibility: MX
Written by: Phil
Length: 1500 words
Assumed Knowledge : Creating Flash movies
The aim of the tutorial is to learn how to use Levels to load several Flash movies (or Jpegs) simultaneously into a single shockwave file (swf). How to switch between one Flash movie and another without loading a new web page. How to load a new movie into a movie clip of a pre-existing movie. To do this we need to look at the following ActionScript keywords:
loadMovieNum |
unloadMovieNum |
_root |
_level |
loadMovie |
unloadMovie |
Examples A to E: Download the Flash files KWs 201
Example of loading different movies into different levels.
Levels
Levels enable you to play several Flash movies one on top of another or to reload new movies into the same space that the original movie was playing. When you play a Flash movie it automatically plays in level zero. If you want you can simply play one movie over top of the other. Subsequent movies would load into level one, two, three etc.
Start movie file name: KWs-201a__Load-Movie_Start.swf
This is the entire content of the example movie above. All the other content loads from separate movies. The ActionScript in frame 1 automatically loads the next movie:
loadMovieNum("KWs-201b__Load-Movie_1b.swf", 1);
This loads Movie 1B into level 1. The original Start movie continues to play underneath on level 0.
Note: Always include the file extension (.swf) otherwise it will not work. Also all files need to be in the same folder as well as the web page.
Note: There is a small intro tweened animation
and the ActionScript in frame 25 is: stop();
For more
info on Tweening see: Tweening Tween
within Tweens
Level One Movie
Example
A to E: Download the Flash files KWs 201
This is
the movie that automatically loads into level one. File name: KWs-201b__Load-Movie_1b.swf
Background
Note: The movie above has a gray background, not blue.
The background colour of a movie does not load. It always loads with a transparent
background.
If
it was not transparent you could not see the movie underneath, which would
be a bit pointless!
Alignment
The size of the movie (in pixels) and length of the Timeline do not matter. No matter what the size of your movie all the movies will align to the top left corner. When you use loadMovieNum you have no control over this but you do have control over the position of objects and symbols within the individual movies.
Note: It is always easier if you make the movies the same document size, this makes it easier to position objects so that they will align.
Reloading a Movie into Level 1
The Home Level 1 button reloads Movie 1b back into level one. The button has the following ActionScript attached:
on (release) {
loadMovieNum("KWs-201b__Load-Movie_1b.swf", 1);
}
Loading a new movie into Level 1
When you click the Next Level 1 button the previous movie 1b is unloaded and movie1c is loaded . The button has the following ActionScript attached:
on (release) {
loadMovieNum("KWs-201c__Load-Movie_1c.swf", 1);
}
Note: There is no code to unload the previous movie. You cannot have more than one movie in any level so any existing movie is automatically unloaded.
Example
A to E: Download the Flash
files KWs 201
The next movie that loads into Level 1. File name: KWs-201c__Load-Movie_1c.swf
Loading a new movie into Level 2
on (release) {
loadMovieNum("KWs-201d__Load-Movie_2.swf", 2);
}
Example
A to E: Download the Flash
files KWs 201
The Level 2 Movie. File name: KWs-201d__Load-Movie_2.swf
Unloading the movie from Level 2
This ActionScript clears any movie from the specified level, you do not need to name the movie:
on (release) {
unloadMovieNum(2);
}
Loading a new movie into Level 0 and clearing all other Levels
This unloads all movies! It does not matter what level they are on. It then loads a new movie into level 0.
on (release) {
loadMovieNum("KWs-201e__Load-Movie_0.swf", 0);
}
Example
A to E: Download
the Flash
files KWs 201
The new Level 0 Movie. File name: KWs-201e__Load-Movie_0.swf
Loading the original Start movie back into Level 0
This places the original Start movie back into level one:
on (release) {
loadMovieNum("KWs-201a__Load-Movie_Start.swf", 0);
}
Because the Start movie loads Movie1b into level 1 automatically from the ActionScript in the Timeline. The script above:
Jpegs
Although all the movies above are Flash shock wave files (swf) you can use exactly the same code to load Jpeg pictures. The ActionScript would look like this:
loadMovieNum("myImageName.jpg", 1);
The advantage of loading Jpegs is that if you have a site which has many pictures the Flash swf would get very large and take ages to load on the web page. If you use levels the Jpeg loads as they are needed. If you have 200 Jpegs and the viewer only wants to see 3 of them, why wait for 200 to download.
The disadvantage is that they will all align in the top left corner. If you don't want that, place them in an empty Flash movie, locate them in the position you want and load the Flash movie into a level.
Gifs and Pngs cannot be directly loaded into a level. You would need to place them in a Flash movie and load the swf file.
Important Note: When you save your Jpeg make sure the 'progressive' option is not selected as you cannot load progressive Jpegs into Levels.
Controlling different movies: _root Vs _level0
You use one movie to control another. To do this you must be very careful with the use of _root and _level0
What's the difference?
If you only have one movie loaded into level 0 there is no difference at all. For example:
on (release) {
_root.myMC.web.gotoAndStop(1);
}
or
on (release) {
_level0.myMC.web.gotoAndStop(1);
}
If the movie concerned is loaded into level 0, the above ActionScript will do the same thing.
But if the movie is loaded into level 1 they are quite different:
_root will go to the root directory of the movie in level 1.
_level0 will go to the root directory of the movie in level 0.
In other words:
_root always refers to the root directory of the movie where the command originates from, irrespective of what level it may be on.
_level0 always refers to the root directory of the movie in level 0 irrespective of where the command comes from.
If you want to learn more about paths look at the beginners tutorial: Target Paths
loadMovie
Loadmovie is very similar to loadMovieNum but you guessed it not quite the same. LoadMovie does not load movies into levels but loads one movie inside another movie.
To use loadMovie you place a blank movie clip on the stage of original movie. This movie clip needs an instance name.
The ActionScript syntax is:
loadMovie("nameOfMovie.swf", _root.instanceNameOfBlankMC);
If I placed a blank movie clip on stage with an instance name: blankMC
I could then place the following ActionScript in frame one of my sample movie:
loadMovie("KWs-061__Load-Movie_1b.swf", _root.instanceNameOfBlankMC);
UnloadMovie
The following ActionScript will unload the movie. Note you don't have to name the movie you wish to unload, you only use the instance name of the movie clip.
unloadMovie(_root.instanceNameOfBlankMC);
Action Panel
You will find the loadMovieNum and loadMovie under: Plus > Actions > Browser/Network > loadMovie
In Normal Mode look at the options above the ActionScript and:
For loadMovieNum select: Levels
For loadMovie select: Target
The Actions Panel
The only thing to do now is to go and try to load various Movies and Jpegs. Hopefully you should now find this straight forward. Good luck.
•
161947 visitors to this page since Jan 04 |
|
Webwasp is Phil Schulz's baby. You are welcome to contact me or become my Facebook friend:
Click here
All material on this site is protected under international copyright © law. DO NOT reproduce any material from this site without written permission. Please ask as permission is often granted.
|