# Working with Movie Clips

Movie clips are self-contained mini-Flash movies that run independently of each other, and of the Timeline that contains them, or parent Timeline. For example, if the main Timeline only has one frame and a movie clip in that frame has ten frames, each frame in the movie clip plays when you play the main movie.

For animators, this independent nature of movie clips provides the ability to make complex animations out of several, simpler movie clips. For example, an animation of a car driving down the road might consist of one movie clip for the car's body, another for each rotating tire, one for the steering wheel turning, and so forth. In other words, each movie clip is a component of the overall animation.

Each movie clip also has a name that uniquely identifies it as an ActionScript object, specifically, as an instance of the MovieClip object. In the authoring environment, you use the Property Inspector to assign names to movie clip instances. You can use the properties and methods of the MovieClip object to control a movie clip's appearance and behavior at runtime. For instance, in the car animation example used above, you could control how fast each "wheel" movie clip instance rotates, without affecting the rest of the animation.

Movie clips can also communicate with each other; in the previous example, the main "car" movie clip could be programmed to set the rotation speed of each "wheel" movie clip to zero (0) whenever the car's speed is zero.

But movie clips are not just for animation, however. For application developers and programmers, the indepedent nature of movie clips provides the foundation of what's commonly called component-based architecture. By extending, or sub-classing, the base MovieClip class , developers can create component-based applications that are easy to maintain, update, and distribute. For more information about sub-classing the MovieClip object see Extending the MovieClip class.Buttons and text fields in a Flash movie are also objects that you can manipulate with ActionScript.