User Guide
MovieClip.loadMovie() 539
Using event handlers with MovieClip.loadMovie() can be unpredictable. If you attach an event
handler to a button using
on() or if you create a dynamic handler using an event handler method
such as
MovieClip.onPress, and then you call loadMovie(), the event handler does not remain
after the new content is loaded. However, if you attach an event handler to a movie clip using
onClipEvent() or
on(), and then call loadMovie() on that movie clip, the event handler remains
after the new content is loaded.
You can extend the methods and event handlers of the MovieClip class by creating a subclass. For
more information, see “Assigning a class to a movie clip symbol” in Using ActionScript in Flash.
Example
As shown in the following example, you can use loadMovie() to load the image picture.jpg into
a movie clip and use the
MovieClip.onPress() method to make the image act like a button.
Loading a JPEG using
loadMovie() replaces the movie clip with the image but doesn’t give you
access to movie clip methods. To get access to movie clip methods, you must create an empty
parent movie clip and a container child movie clip. Load the image into the container and place
the event handler on the parent movie clip.
// Creates a parent movie clip to hold the container
this.createEmptyMovieClip("logo_mc", this.getNextHighestDepth());
// creates a child movie clip inside of "mc_1"
// this is the movie clip the image will replace
logo_mc.createEmptyMovieClip("container_mc",0);
logo_mc.container_mc.loadMovie("http://www.macromedia.com/images/shared/
product_boxes/80x92/studio_flashpro.jpg");
// put event handler on the parent movie clip mc_1
logo_mc.onPress = function() {
trace("It works");
};
See also
MovieClip.loadMovie(), loadMovieNum(), MovieClip.loadVariables(),
MovieClip.unloadMovie(), unloadMovie(), unloadMovieNum()