Skip to Content
Actionscript Cookbook
book

Actionscript Cookbook

by Joey Lott
July 2003
Intermediate to advanced
896 pages
45h 43m
English
O'Reilly Media, Inc.
Content preview from Actionscript Cookbook

7.10. Discovering Nested Movie Clips

Problem

You want to use ActionScript to retrieve an array of movie clip instances nested within a specific movie clip.

Solution

Use a for . . . in statement to loop through all the contents of the movie clip, and if the content is an instance of the MovieClip class (as indicated by the instanceof operator), add it to an array of the nested movie clips.

Discussion

Movie clips can be nested within other movie clips. A nested clip instance is stored as a property of its parent clip. Since movie clip instances are objects, you can access all the nested movie clips using a for . . . in statement. However, a basic for . . . in statement lists other properties in addition to nested movie clips. This example displays not only movie clips nested in _root, but also any timeline variables, functions, and the built-in $version variable:

for (var item in _root) {
  trace(item + ": " + _root[item]);
}

To separate nested movie clips from the rest of a clip’s contents, you can use the instanceof operator to check if an item is an instance of the MovieClip class, as follows:

// The if statement disregards everything but movie clips.
for (var item in _root) {
  if (_root[item] instanceof MovieClip) {
    trace(item + ": " + _root[item]);
  }
}

You can also write a simple custom method for the MovieClip class that returns an array of nested movie clips:

MovieClip.prototype.getMovieClips = function ( ) { // Define the array to contain the movie clip references. var mcs = new Array( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ActionScript 3.0 Cookbook

ActionScript 3.0 Cookbook

Joey Lott, Darron Schall, Keith Peters
ActionScript 3.0 Design Patterns

ActionScript 3.0 Design Patterns

William Sanders, Chandima Cumaranatunge

Publisher Resources

ISBN: 0596004907Catalog PageErrata