Attaching a movie clip symbol to the Stage

The last way to create movie clip instances at runtime is to use attachMovie(). The attachMovie() method attaches an instance of a movie clip symbol in the SWF file's library to the Stage. The new clip becomes a child clip of the clip that attached it.

To use ActionScript to attach a movie clip symbol from the library, you must export the symbol for ActionScript and assign it a unique linkage identifier. To do this, you use the Linkage Properties dialog box.

By default, all movie clips that are exported for use with ActionScript load before the first frame of the SWF file that contains them. This can create a delay before the first frame plays. When you assign a linkage identifier to an element, you can also specify whether this content should be added before the first frame. If it isn't added in the first frame, you must include an instance of it in some other frame of the SWF file; if you don't, the element will not be exported to the SWF file.

To assign a linkage identifier to movie clip:

  1. Select Window > Library to open the Library panel.
  2. Select a movie clip in the Library panel.
  3. In the Library panel, select Linkage from the Library panel options menu.

    The Linkage Properties dialog box appears.

  4. For Linkage, select Export for ActionScript.
  5. For Identifier, enter an ID for the movie clip.

    By default, the identifier is the same as the symbol name.

  6. You can optionally assign an ActionScript 2.0 class to the movie clip symbol. (See Assigning a class to a movie clip symbol.)
  7. If you don't want the movie clip to load before the first frame, deselect the Export in First Frame option.

    If you deselect this option, place an instance of the movie clip on the frame of the Timeline where you'd like it to be available. For example, if the script you're writing doesn't reference the movie clip until Frame 10, then place an instance of the symbol at or before that frame in the Timeline.

  8. Click OK.

After you've assigned a linkage identifier to a movie clip, you can attach an instance of the symbol to the Stage at runtime by using attachMovie().

To attach a movie clip to another movie clip:

  1. Assign a linkage identifier to a movie clip library symbol, as described above.
  2. With the Actions panel open (Window > Development Panels > Actions), select a frame in the Timeline.
  3. In the Actions panel's Script pane, type the name of the movie clip or level to which you want to attach the new movie clip. For example, to attach the movie clip to the root Timeline, type _root.
  4. In the Actions toolbox (at the left of the Actions panel), click the Built-in Classes category, the Movie category, and the MovieClip category, and double-click attachMovie().
  5. Using the code hints that appear as a guide, enter values for the following parameters:
    • For idName, specify the identifier you entered in the Linkage Properties dialog box.
    • For newName, enter an instance name for the attached clip so that you will be able to target it.
    • For depth, enter the level at which the duplicate movie clip will be attached to the movie clip. Each attached movie clip has its own stacking order, with level 0 as the level of the originating movie clip. Attached movie clips are always on top of the original movie clip. Here is an example:
        myMovieClip.attachMovie("calif", "california", 10);
      

For more information, see MovieClip.attachMovie().