Adobe Extending Flash Professional CS4 User Manual
Page 161

139
EXTENDING FLASH CS4 PROFESSIONAL
Document object
fl.getDocumentDOM().getTimeline().currentFrame = 10;
fl.getDocumentDOM().selection =
fl.getDocumentDOM().getTimeline().layers[0].frames[10].elements;
The following example creates a rectangle in the upper left corner of the Stage and a text string underneath the
rectangle. Then it selects both objects using
and adds them to the
document.selection
array. Finally, it displays the contents of
document.selection
in the Output panel.
fl.getDocumentDOM().addNewRectangle({left:0, top:0, right:99, bottom:99}, 0);
fl.getDocumentDOM().addNewText({left:-1, top:117.3, right:9.2, bottom:134.6});
fl.getDocumentDOM().setTextString('Hello World');
fl.getDocumentDOM().setSelectionRect({left:-28, top:-22, right:156.0, bottom:163});
var theSelectionArray = fl.getDocumentDOM().selection;
for(var i=0;i fl.trace("fl.getDocumentDOM().selection["+i+"] = " + theSelectionArray[i]); } The following example is an advanced example. It shows how to loop through the layer array and elements array to myMovieClip in the first frame to the current selection: // Assigns the layers array to the variable "theLayers". var theLayers = fl.getDocumentDOM().getTimeline().layers; // Creates an array to hold all the elements // that are instances of "myMovieClip". var myArray = new Array(); // Counter variable var x = 0; // Begin loop through all the layers. for (var i = 0; i < theLayers.length; i++) { // Gets the array of elements in Frame 1 // and assigns it to the array "theElems". var theElems = theLayers[i].frames[0].elements; // Begin loop through the elements on a layer. for (var c = 0; c < theElems.length; c++) { // Checks to see if the element is of type "instance". if (theElems[c].elementType == "instance") { // If the element is an instance, it checks // if it is an instance of "myMovieClip". if (theElems[c].libraryItem.name == "myMovieClip") { // Assigns elements that are instances of "myMovieClip" to "myArray". myArray[x] = theElems[c]; // Increments counter variable. x++; } } } } // Now that you have assigned all the instances of "myMovieClip" // to "myArray", you then set the document.selection array // equal to myArray. This selects the objects on the Stage. fl.getDocumentDOM().selection = myArray;
locate instances of a particular symbol and select them. You could extend this example to include loops for multiple
frames or scenes. This example assigns all instances of the movie clip