MovieClip.globalToLocal( ) Method

ActionScript for Flash MX: The Definitive Guide, 2nd Edition
By Colin Moock
Chapter 18.  ActionScript Language Reference
MovieClip.globalToLocal( ) Method Flash 5

convert a point on the main Stage to clip coordinates
mc.globalToLocal(point)

Arguments

point

A reference to an object with two properties, x and y, that describe a point on the main Stage of the Player (i.e., on _level0). Both x and y can be any floating-point number.

Description

The globalToLocal( ) method converts the x and y properties of point from coordinates on the main Stage to coordinates in the coordinate space of mc. Note that globalToLocal( ) does not return a new object, it merely modifies the existing x and y values of point. It has no effect when invoked on a main movie object (i.e., _root), because the original and target coordinate spaces are identical.

To use globalToLocal( ), we must first create a so-called point or coordinates object with x and y properties. To do so, create a generic object from the Object class, and add x and y properties to it. For example:

var myPoint = new Object(); myPoint.x = 10; myPoint.y = 20;

The x and y properties of our object are positions on the horizontal and vertical axes of the main Stage, relative to its top-left corner. For example, an x of 10 is 10 pixels to the right of the Stage's left edge, and a y of 20 is 20 pixels below the Stage's top border. With our object created and our x and y properties set, we then pass the object to the globalToLocal( ) method, as in:

myClip_mc.globalToLocal(myPoint);

When globalToLocal( ) is executed, the values of myPoint's x and y properties are transformed to represent a point in the space of myClip_mc, measured from its registration point. By examining the new values of our myPoint object's properties, we answer the question, "Where does the point (x, y) of the main Stage appear in myClip ?" For example:

xInClip = myPoint.x; yInClip = myPoint.y;

Example

The following example calculates the offset from the upper-left corner of the main Stage to the registration point of the current clip:

pt = new Object();         // Create generic object to hold our point pt.x = 0;                   // Left border of main Stage pt.y = 0;                   // Top border of main Stage this.globalToLocal(pt);     // Convert pt to local coordinates     trace("From the current clip, the top-left corner of the main Stage is at "); trace("x: " + pt.x + "y: " + pt.y);

See Also

MovieClip.localToGlobal



    ActionScript for Flash MX. The Definitive Guide
    ActionScript for Flash MX: The Definitive Guide, Second Edition
    ISBN: 059600396X
    EAN: 2147483647
    Year: 2002
    Pages: 780
    Authors: Colin Moock

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net