O'Reilly logo

Actionscript Cookbook by Joey Lott

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.18. Duplicating Movie Clips

Problem

You have an existing movie clip on the Stage and you want to create duplicates of it.

Solution

Use the duplicateMovieClip( ) method.

Discussion

You can create a duplicate of any existing movie clip (except _root) by calling the duplicateMovieClip( ) method from it. The duplicate movie clip is created within the same timeline as the original, and it inherits all the settings of standard movie clip properties (such as _x, _y, _rotation, etc.) as well as onClipEvent( ) handlers from the original clip. While the duplicated movie clip does not inherit any custom properties or any event handler methods from the original, you can use an initialization object to copy properties to the new object (see Recipe 7.19). The duplicateMovieClip( ) method requires at least two parameters: the name and depth of the new movie clip.

// This example creates a new movie clip named myDupMovieClip1 at depth 1. The new
// movie clip is a copy of myMovieClip and resides on the same timeline.
myMovieClip.duplicateMovieClip("myDupMovieClip1", 1);

// This example creates a movie clip named myDupMovieClip2 with a depth of 2. It is
// initialized such that the _x property is set to 20.
myMovieClip.duplicateMovieClip("myDupMovieClip2", 2, {_x: 20});

When you use duplicateMovieClip( ), you often want to create slightly customized duplicates. In other words, all the duplicates share the same basic core but might be customized with various color settings, etc. For example, you might ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required