MovieClip.getBounds( ) Method | Flash 5 |
determine the bounding box of a clip or movie |
A string indicating the path to the movie or clip in whose coordinate space mc's dimensions are measured. Because a movie clip reference is converted to a path when used in a string context, targetCoordinateSpace can also be a movie clip object reference, as in mc.getBounds(_root) versus mc.getBounds("_root"). Defaults to mc if not specified.
An object whose properties—xMin, xMax, yMin, and yMax—describe the bounding box of the space occupied by mc. These four properties of the object specify the leftmost, rightmost, topmost, and bottommost pixel coordinates of mc.
The getBounds( ) method returns an anonymous object with properties that define the rectangular area occupied by mc (i.e., mc's bounding box). To retrieve the values stored in the returned object, we must access that object's properties, as shown in the following Example.
The dimensions of the bounding box of a clip can be measured relative to any other clip or movie. Using the targetCoordinateSpace argument, we can pose the question, "If mc resided on targetCoordinateSpace's canvas, what area would it occupy?" The answer differs depending on whether targetCoordinateSpace is a main movie or a clip instance; the origin point of the main movie's coordinate space is the top-left corner of the Stage, but the origin point of an instance's coordinate space is its registration point, as marked in the clip's Library symbol (where it is shown as a crosshair).
The getBounds( ) method can be used to perform basic collision detection between a movie or clip and some other point (though MovieClip.hitTest( ) serves this purpose better). It might also be used to identify a rectangular region in which to place a clip added to a movie with MovieClip.attachMovie( ).
// Retrieve the bounds for the current clip var clipBounds = this.getBounds(); // Store the bounds in corresponding variables var leftX = clipBounds.xMin; var rightX = clipBounds.xMax; var topY = clipBounds.yMin; var bottomY = clipBounds.yMax;
MovieClip.globalToLocal( ), MovieClip.hitTest( ), MovieClip.localToGlobal