flash.events

# TransformGestureEvent - AS3

Package | flash.events
Class | public class TransformGestureEvent
Inheritance | TransformGestureEvent GestureEvent Event Object

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

The TransformGestureEvent class lets you handle complex movement input events (such as moving fingers across a touch screen) that the device or operating system interprets as a gesture. A gesture can have one or more touch points. When a user interacts with a device such as a mobile phone or tablet with a touch screen, the user typically touches and moves across the screen with his or her fingers or a pointing device. You can develop applications that respond to this user interaction with the GestureEvent, PressAndTapGestureEvent, and TransformGestureEvent classes. Create event listeners using the event types defined here, or in the related GestureEvent and TouchEvent classes. And, use the properties and methods of these classes to construct event handlers that respond to the user touching the device.

A device or operating system interprets gesture input. So, different devices or operating systems have different requirements for individual gesture types. A swipe on one device might require different input movement than a swipe on another device. Refer to the hardware or operating system documentation to discover how the device or operating system interprets contact as a specific gesture.

Use the Multitouch class to determine the current environment's support for touch interaction, and to manage the support of touch interaction if the current environment supports it.

Note: When objects are nested on the display list, touch events target the deepest possible nested object that is visible in the display list. This object is called the target node. To have a target node's ancestor (an object containing the target node in the display list) receive notification of a touch event, use `EventDispatcher.addEventListener()` on the ancestor node with the type parameter set to the specific touch event you want to detect.

While the user is in contact with the device, the TransformGestureEvent object's scale, rotation, and offset properties are incremental values from the previous gesture event. For example, as a gesture increases the size of a display object, the scale values might go in sequence `1.03`, `1.01`, `1.01`, `1.02` indicating the display object scaled 1.0717 times its original size by the end of the gesture.

For TransformGestureEvent objects, properties not modified by the current gesture are set to identity values. For example, a pan gesture does not have a rotation or scale transformation, so the `rotation` value of the event object is `0`, the `scaleX` and `scaleY` properties are `1`.

View the examples

More examples

Touch, multitouch and gesture input

Related API Elements

flash.ui.Multitouch
flash.events.TouchEvent
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | altKey : Boolean Indicates whether the Alt key is active (true) or inactive (false). | GestureEvent
|  | bubbles : Boolean [read-only] Indicates whether an event is a bubbling event. | Event
|  | cancelable : Boolean [read-only] Indicates whether the behavior associated with the event can be prevented. | Event
|  | commandKey : Boolean Indicates whether the command key is activated (Mac only). | GestureEvent
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | controlKey : Boolean Indicates whether the Control key is activated on Mac and whether the Ctrl key is activated on Windows or Linux. | GestureEvent
|  | ctrlKey : Boolean On Windows or Linux, indicates whether the Ctrl key is active (true) or inactive (false). | GestureEvent
|  | currentTarget : Object [read-only] The object that is actively processing the Event object with an event listener. | Event
|  | eventPhase : uint [read-only] The current phase in the event flow. | Event
|  | localX : Number The horizontal coordinate at which the event occurred relative to the containing sprite. | GestureEvent
|  | localY : Number The vertical coordinate at which the event occurred relative to the containing sprite. | GestureEvent
|  | offsetX : Number The horizontal translation of the display object, since the previous gesture event. | TransformGestureEvent
|  | offsetY : Number The vertical translation of the display object, since the previous gesture event. | TransformGestureEvent
|  | phase : String A value from the GesturePhase class indicating the progress of the touch gesture. | GestureEvent
|  | rotation : Number The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event. | TransformGestureEvent
|  | scaleX : Number The horizontal scale of the display object, since the previous gesture event. | TransformGestureEvent
|  | scaleY : Number The vertical scale of the display object, since the previous gesture event. | TransformGestureEvent
|  | shiftKey : Boolean Indicates whether the Shift key is active (true) or inactive (false). | GestureEvent
|  | stageX : Number [read-only] The horizontal coordinate at which the event occurred in global Stage coordinates. | GestureEvent
|  | stageY : Number [read-only] The vertical coordinate at which the event occurred in global Stage coordinates. | GestureEvent
|  | target : Object [read-only] The event target. | Event
|  | type : String [read-only] The type of event. | Event
|  | velocity : Number The velocity, in pixels per second, of the transform gesture event. | TransformGestureEvent

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | TransformGestureEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, phase:String = null, localX:Number = 0, localY:Number = 0, scaleX:Number = 1.0, scaleY:Number = 1.0, rotation:Number = 0, offsetX:Number = 0, offsetY:Number = 0, ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, commandKey:Boolean = false, controlKey:Boolean = false, velocity:Number = 0)
Creates an Event object that contains information about complex multi-touch events, such as a user sliding his or her finger across a screen.
TransformGestureEvent
|  | clone():Event [override] Creates a copy of the TransformGestureEvent object and sets the value of each property to match that of the original. | TransformGestureEvent
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether the preventDefault() method has been called on the event. | Event
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String [override] Returns a string that contains all the properties of the TransformGestureEvent object. | TransformGestureEvent
|  | updateAfterEvent():void Refreshes the Flash runtime display after processing the gesture event, in case the display list has been modified by the event handler. | GestureEvent
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | GESTURE_DIRECTIONAL_TAP : String = "gestureDirectionalTap" [static] Defines the value of the type property of a GESTURE_DIRECTIONAL_TAP touch event object. | TransformGestureEvent
|  | GESTURE_PAN : String = "gesturePan" [static] Defines the value of the type property of a GESTURE_PAN touch event object. | TransformGestureEvent
|  | GESTURE_ROTATE : String = "gestureRotate" [static] Defines the value of the type property of a GESTURE_ROTATE touch event object. | TransformGestureEvent
|  | GESTURE_SWIPE : String = "gestureSwipe" [static] Defines the value of the type property of a GESTURE_SWIPE touch event object. | TransformGestureEvent
|  | GESTURE_ZOOM : String = "gestureZoom" [static] Defines the value of the type property of a GESTURE_ZOOM touch event object. | TransformGestureEvent

Property Detail

### offsetX

property

`offsetX:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

The horizontal translation of the display object, since the previous gesture event.

Implementation
`public function get offsetX():Number`
`public function set offsetX(value:Number):void`

### offsetY

property

`offsetY:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

The vertical translation of the display object, since the previous gesture event.

Implementation
`public function get offsetY():Number`
`public function set offsetY(value:Number):void`

### rotation

property

`rotation:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.

Implementation
`public function get rotation():Number`
`public function set rotation(value:Number):void`

### scaleX

property

`scaleX:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

The horizontal scale of the display object, since the previous gesture event.

Implementation
`public function get scaleX():Number`
`public function set scaleX(value:Number):void`

### scaleY

property

`scaleY:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

The vertical scale of the display object, since the previous gesture event.

Implementation
`public function get scaleY():Number`
`public function set scaleY(value:Number):void`

### velocity

property

`velocity:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 24, Flash Lite 4

The velocity, in pixels per second, of the transform gesture event.

Implementation
`public function get velocity():Number`
`public function set velocity(value:Number):void`
Constructor Detail

### TransformGestureEvent

()
Constructor

`public function TransformGestureEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, phase:String = null, localX:Number = 0, localY:Number = 0, scaleX:Number = 1.0, scaleY:Number = 1.0, rotation:Number = 0, offsetX:Number = 0, offsetY:Number = 0, ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, commandKey:Boolean = false, controlKey:Boolean = false, velocity:Number = 0)`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Creates an Event object that contains information about complex multi-touch events, such as a user sliding his or her finger across a screen. Event objects are passed as parameters to event listeners.

Parameters

| `type:String` — The type of the event. Possible values are: `TransformGestureEvent.GESTURE_PAN`, `TransformGestureEvent.GESTURE_ROTATE`, `TransformGestureEvent.GESTURE_SWIPE` and `TransformGestureEvent.GESTURE_ZOOM`.
| `bubbles:Boolean` (default = `true`)`` — Determines whether the Event object participates in the bubbling phase of the event flow.
| `cancelable:Boolean` (default = `false`)`` — Determines whether the Event object can be canceled.
| `phase:String` (default = `null`)`` — This values tracks the beginning, progress, and end of a touch gesture. Possible values are: `GesturePhase.BEGIN`, `GesturePhase.END`, and `GesturePhase.UPDATE`.
| `localX:Number` (default = `0`)`` — The horizontal coordinate at which the event occurred relative to the containing display object.
| `localY:Number` (default = `0`)`` — The vertical coordinate at which the event occurred relative to the containing display object.
| `scaleX:Number` (default = `1.0`)`` — The horizontal scale of the display object.
| `scaleY:Number` (default = `1.0`)`` — The vertical scale of the display object.
| `rotation:Number` (default = `0`)`` — The current rotation angle, in degrees, of the display object along the z-axis.
| `offsetX:Number` (default = `0`)`` — The horizontal translation of the display object from its original position.
| `offsetY:Number` (default = `0`)`` — The vertical translation of the display object from its original position.
| `ctrlKey:Boolean` (default = `false`)`` — (AIR only) The velocity of transform gesture in pixels per second.
| `altKey:Boolean` (default = `false`)`` — On Windows or Linux, indicates whether the Ctrl key is activated. On Mac, indicates whether either the Ctrl key or the Command key is activated.
| `shiftKey:Boolean` (default = `false`)`` — Indicates whether the Alt key is activated (Windows or Linux only).
| `commandKey:Boolean` (default = `false`)`` — Indicates whether the Shift key is activated.
| `controlKey:Boolean` (default = `false`)`` — (AIR only) Indicates whether the Command key is activated (Mac only). This parameter is for Adobe AIR only; do not set it for Flash Player content.
| `velocity:Number` (default = `0`)`` — (AIR only) Indicates whether the Control or Ctrl key is activated. This parameter is for Adobe AIR only; do not set it for Flash Player content.

Related API Elements

flash.ui.Multitouch
flash.events.TouchEvent
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.GesturePhase
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
Method Detail

### clone

()
method

`override public function clone():Event`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Creates a copy of the TransformGestureEvent object and sets the value of each property to match that of the original.

Returns

| `Event` — A new TransformGestureEvent object with property values that match those of the original.

### toString

()
method

`override public function toString():String`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Returns a string that contains all the properties of the TransformGestureEvent object. The string is in the following format:

`[TransformGestureEvent type=value bubbles=value cancelable=value ... ]`

Returns

| `String` — A string that contains all the properties of the TransformGestureEvent object.

Constant Detail

### GESTURE_DIRECTIONAL_TAP

Constant

`public static const GESTURE_DIRECTIONAL_TAP:String = "gestureDirectionalTap"`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 24, Flash Lite 4

Defines the value of the `type` property of a `GESTURE_DIRECTIONAL_TAP` touch event object.

The dispatched TransformGestureEvent object has the following properties:

Property | Value
--- | ---
`altKey` | `true` if the Alt key is active (Windows or Linux).
`bubbles` | `true`
`cancelable` | `false`; there is no default behavior to cancel.
`commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows.
`controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive.
`ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`phase` | The current phase in the event flow. For swipe events, this value is always `all` corresponding to the value `GesturePhase.ALL` once the event is dispatched.
`localX` | The horizontal coordinate at which the event occurred relative to the containing sprite.For directional tap gestures this value is centre of the screen.
`localY` | The vertical coordinate at which the event occurred relative to the containing sprite.For directional tap gestures this value is centre of the screen.
`scaleX` | The horizontal scale of the display object. For directional tap gestures this value is `1`
`scaleY` | The vertical scale of the display object. For directional tap gestures this value is `1`
`rotation` | The current rotation angle, in degrees, of the display object along the z-axis. For directional tap gestures this value is `0`
`offsetX` | Indicates horizontal direction: 1 for right and -1 for left.
`offsetY` | Indicates vertical direction: 1 for down and -1 for up.
`velocity` | Indicates velocity of the swipe gesture in pixels per second (AIR only).
`shiftKey` | `true` if the Shift key is active; `false` if it is inactive.
`target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event.

Related API Elements

flash.display.InteractiveObject.gestureDirectionalTap
flash.events.GesturePhase

### GESTURE_PAN

Constant

`public static const GESTURE_PAN:String = "gesturePan"`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the `type` property of a `GESTURE_PAN` touch event object.

The dispatched TransformGestureEvent object has the following properties:

Property | Value
--- | ---
`altKey` | `true` if the Alt key is active (Windows or Linux).
`bubbles` | `true`
`cancelable` | `false`; there is no default behavior to cancel.
`commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows.
`controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive.
`ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`phase` | The current phase in the event flow; a value from the GesturePhase class.
`localX` | The horizontal coordinate at which the event occurred relative to the containing display object.
`localY` | The vertical coordinate at which the event occurred relative to the containing display object.
`scaleX` | The horizontal scale of the display object since the previous gesture event. For pan gestures this value is `1`.
`scaleY` | The vertical scale of the display object since the previous gesture event. For pan gestures this value is `1`.
`rotation` | The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event. For pan gestures this value is `0`.
`offsetX` | The horizontal translation of the display object from its position at the previous gesture event.
`offsetY` | The vertical translation of the display object from its position at the previous gesture event.
`velocity` | The velocity of the gesture event in pixels per second (AIR only). For pan gesture this value is `0`
`shiftKey` | `true` if the Shift key is active; `false` if it is inactive.
`target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event.

Related API Elements

flash.display.InteractiveObject.gesturePan
flash.events.GesturePhase
Example ( How to use this example )
The following example shows event handling for the `GESTURE_PAN` events. While the user performs a pan gesture on the touch-enabled device, myTextField populates with the current phase.
Copy

    Multitouch.inputMode = MultitouchInputMode.GESTURE;

    var mySprite = new Sprite();
    mySprite.addEventListener(TransformGestureEvent.GESTURE_PAN , onPan);
    mySprite.graphics.beginFill(0x336699);
    mySprite.graphics.drawRect(0, 0, 100, 80);
    var myTextField = new TextField();
    myTextField.y = 200;
    addChild(mySprite);
    addChild(myTextField);

    function onPan(evt:TransformGestureEvent):void {

        evt.target.localX++;

        if (evt.phase==GesturePhase.BEGIN) {
            myTextField.text = "Begin";
        }
        if (evt.phase==GesturePhase.UPDATE) {
            myTextField.text = "Update";
        }
        if (evt.phase==GesturePhase.END) {
            myTextField.text = "End";
        }
    }

### GESTURE_ROTATE

Constant

`public static const GESTURE_ROTATE:String = "gestureRotate"`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the `type` property of a `GESTURE_ROTATE` touch event object.

During this event, the `rotation` property contains the rotation angle. The rotation values are as follows:

- 0 to 180 degrees for clockwise direction
- - 180 to 0 degrees for counter-clockwise direction

The dispatched TransformGestureEvent object has the following properties:

Property | Value
--- | ---
`altKey` | `true` if the Alt key is active (Windows or Linux).
`bubbles` | `true`
`cancelable` | `false`; there is no default behavior to cancel.
`commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows.
`controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive.
`ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`phase` | The current phase in the event flow; a value from the GesturePhase class.
`localX` | The horizontal coordinate at which the event occurred relative to the containing display object.
`localY` | The vertical coordinate at which the event occurred relative to the containing display object.
`scaleX` | The horizontal scale of the display object since the previous gesture event.
`scaleY` | The vertical scale of the display object since the previous gesture event.
`rotation` | The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.
`offsetX` | The horizontal translation of the display object from its position at the previous gesture event.
`offsetY` | The vertical translation of the display object from its position at the previous gesture event.
`velocity` | The velocity of the gesture event in pixels per second (AIR only). For rotate gesture this value is `0`
`shiftKey` | `true` if the Shift key is active; `false` if it is inactive.
`target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event.

Related API Elements

flash.display.InteractiveObject.gestureRotate
flash.events.GesturePhase
Example ( How to use this example )
The following example shows event handling for the `GESTURE_ROTATE` events. While the user performs a rotation gesture on the touch-enabled device, mySprite rotates and myTextField populates with the current phase.
Copy

    Multitouch.inputMode = MultitouchInputMode.GESTURE;

    var mySprite = new Sprite();
    mySprite.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate );
    mySprite.graphics.beginFill(0x336699);
    mySprite.graphics.drawRect(0, 0, 100, 80);
    var myTextField = new TextField();
    myTextField.y = 200;
    addChild(mySprite);
    addChild(myTextField);

    function onRotate(evt:TransformGestureEvent):void {

        evt.target.rotation -= 45;

        if (evt.phase==GesturePhase.BEGIN) {
            myTextField.text = "Begin";
        }
        if (evt.phase==GesturePhase.UPDATE) {
            myTextField.text = "Update";
        }
        if (evt.phase==GesturePhase.END) {
            myTextField.text = "End";
        }
    }

### GESTURE_SWIPE

Constant

`public static const GESTURE_SWIPE:String = "gestureSwipe"`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the `type` property of a `GESTURE_SWIPE` touch event object.

The dispatched TransformGestureEvent object has the following properties:

Property | Value
--- | ---
`altKey` | `true` if the Alt key is active (Windows or Linux).
`bubbles` | `true`
`cancelable` | `false`; there is no default behavior to cancel.
`commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows.
`controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive.
`ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`phase` | The current phase in the event flow. For swipe events, this value is always `all` corresponding to the value `GesturePhase.ALL` once the event is dispatched.
`localX` | The horizontal coordinate at which the event occurred relative to the containing sprite.
`localY` | The vertical coordinate at which the event occurred relative to the containing sprite.
`scaleX` | The horizontal scale of the display object. For swipe gestures this value is `1`
`scaleY` | The vertical scale of the display object. For swipe gestures this value is `1`
`rotation` | The current rotation angle, in degrees, of the display object along the z-axis. For swipe gestures this value is `0`
`offsetX` | Indicates horizontal direction: 1 for right and -1 for left.
`offsetY` | Indicates vertical direction: 1 for down and -1 for up.
`velocity` | Indicates velocity of the swipe gesture in pixels per second (AIR only). For rest, this value is `0`
`shiftKey` | `true` if the Shift key is active; `false` if it is inactive.
`target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event.

Related API Elements

flash.display.InteractiveObject.gestureSwipe
flash.events.GesturePhase
Example ( How to use this example )
The following example shows event handling for the `GESTURE_SWIPE` events. While the user performs a swipe gesture on the touch-enabled device, myTextField populates with the phase `all`, which is the only phase for swipe events.
Copy

    Multitouch.inputMode = MultitouchInputMode.GESTURE;

    var mySprite = new Sprite();
    mySprite.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
    mySprite.graphics.beginFill(0x336699);
    mySprite.graphics.drawRect(0, 0, 100, 80);
    var myTextField = new TextField();
    myTextField.y = 200;
    addChild(mySprite);
    addChild(myTextField);

    function onSwipe(evt:TransformGestureEvent):void {

        if (evt.offsetX == 1 ) {
        myTextField.text = "right";
        }
        if (evt.offsetY == -1) {
        myTextField.text = "up";
        }
        myTextField.text = evt.phase;

    }

### GESTURE_ZOOM

Constant

`public static const GESTURE_ZOOM:String = "gestureZoom"`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10.1, AIR 2, Flash Lite 4

Defines the value of the `type` property of a `GESTURE_ZOOM` touch event object.

The dispatched TransformGestureEvent object has the following properties:

Property | Value
--- | ---
`altKey` | `true` if the Alt key is active (Windows or Linux).
`bubbles` | `true`
`cancelable` | `false`; there is no default behavior to cancel.
`commandKey` | `true` on the Mac if the Command key is active; `false` if it is inactive. Always `false` on Windows.
`controlKey` | `true` if the Ctrl or Control key is active; `false` if it is inactive.
`ctrlKey` | `true` on Windows or Linux if the Ctrl key is active. `true` on Mac if either the Ctrl key or the Command key is active. Otherwise, `false`.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`phase` | The current phase in the event flow; a value from the GesturePhase class.
`localX` | The horizontal coordinate at which the event occurred relative to the containing display object.
`localY` | The vertical coordinate at which the event occurred relative to the containing display object.
`scaleX` | The horizontal scale of the display object since the previous gesture event.
`scaleY` | The vertical scale of the display object since the previous gesture event.
`rotation` | The current rotation angle, in degrees, of the display object along the z-axis, since the previous gesture event.
`offsetX` | The horizontal translation of the display object from its position at the previous gesture event.
`offsetY` | The vertical translation of the display object from its position at the previous gesture event.
`velocity` | The velocity of the gesture event in pixels per second (AIR only). For zoom gesture this value is `0`
`shiftKey` | `true` if the Shift key is active; `false` if it is inactive.
`target` | The InteractiveObject instance under the touching device. The `target` is not always the object in the display list that registered the event listener. Use the `currentTarget` property to access the object in the display list that is currently processing the event.

Related API Elements

flash.display.InteractiveObject.gestureZoom
flash.events.GesturePhase
Example ( How to use this example )
The following example shows event handling for the `GESTURE_ZOOM` events. While the user performs a zoom gesture on the touch-enabled device, myTextField populates with the current phase.
Copy

    Multitouch.inputMode = MultitouchInputMode.GESTURE;

    var mySprite = new Sprite();
    mySprite.addEventListener(TransformGestureEvent.GESTURE_ZOOM , onZoom);
    mySprite.graphics.beginFill(0x336699);
    mySprite.graphics.drawRect(0, 0, 100, 80);
    var myTextField = new TextField();
    myTextField.y = 200;
    addChild(mySprite);
    addChild(myTextField);

    function onZoom(evt:TransformGestureEvent):void {

        evt.target.scaleX++;

        if (evt.phase==GesturePhase.BEGIN) {
            myTextField.text = "Begin";
        }
        if (evt.phase==GesturePhase.UPDATE) {
            myTextField.text = "Update";
        }
        if (evt.phase==GesturePhase.END) {
            myTextField.text = "End";
        }
    }

Examples How to use this example
TransformGestureEventExample.as
The following example shows event handling for the `GESTURE_ROTATE` events. While the user performs a rotation gesture on the touch-enabled device, mySprite rotates and myTextField populates with the current phase.
Copy

    Multitouch.inputMode = MultitouchInputMode.GESTURE;

    var mySprite = new Sprite();
    mySprite.addEventListener(TransformGestureEvent.GESTURE_ROTATE , onRotate );
    mySprite.graphics.beginFill(0x336699);
    mySprite.graphics.drawRect(0, 0, 100, 80);
    var myTextField = new TextField();
    myTextField.y = 200;
    addChild(mySprite);
    addChild(myTextField);

    function onRotate(evt:TransformGestureEvent):void {

        evt.target.rotation -= 45;

        if (evt.phase==GesturePhase.BEGIN) {
            myTextField.text = "Begin";
        }
        if (evt.phase==GesturePhase.UPDATE) {
            myTextField.text = "Update";
        }
        if (evt.phase==GesturePhase.END) {
            myTextField.text = "End";
        }
    }

TransformGestureExample2.as
The following example shows how to handle transform gesture events. This example assumes an image is on your local system called "african_elephant.jpg" and in the same directory as the TransformGestureExample2 class. This example comes from Christian Cantrell, and is explained in more detail in his quickstart: Multi-touch and gesture support on the Flash Platform.
Copy

     package
    {
        import flash.display.Bitmap;
        import flash.display.Sprite;
        import flash.events.TransformGestureEvent;
        import flash.text.TextField;
        import flash.text.TextFormat;
        import flash.ui.Multitouch;
        import flash.ui.MultitouchInputMode;

        [SWF(width=320, height=460, frameRate=24, backgroundColor=0x000000)]
        public class TransformGestureExample2 extends Sprite
        {
            [Embed(source="african_elephant.jpg")]
            public var ElephantImage:Class;
            public var scaleDebug:TextField;
            public var rotateDebug:TextField;

            public function TransformGestureExample2()
            {
                // Debug
                var tf:TextFormat = new TextFormat();
                tf.color = 0xffffff;
                tf.font = "Helvetica";
                tf.size = 11;
                this.scaleDebug = new TextField();
                this.scaleDebug.width = 310;
                this.scaleDebug.defaultTextFormat = tf;
                this.scaleDebug.x = 2;
                this.scaleDebug.y = 2;
                this.stage.addChild(this.scaleDebug);
                this.rotateDebug = new TextField();
                this.rotateDebug.width = 310;
                this.rotateDebug.defaultTextFormat = tf;
                this.rotateDebug.x = 2;
                this.rotateDebug.y = 15;
                this.stage.addChild(this.rotateDebug);

                var elephantBitmap:Bitmap = new ElephantImage();
                var elephant:Sprite = new Sprite();

                elephant.addChild(elephantBitmap);

                elephant.x = 160;
                elephant.y = 230;

                elephantBitmap.x = (300 - (elephantBitmap.bitmapData.width / 2)) * -1;
                elephantBitmap.y = (400 - (elephantBitmap.bitmapData.height / 2)) *-1;

                this.addChild(elephant);

                Multitouch.inputMode = MultitouchInputMode.GESTURE;
                elephant.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
                elephant.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate);
            }

            private function onZoom(e:TransformGestureEvent):void
            {
                this.scaleDebug.text = (e.scaleX + ", " + e.scaleY);
                var elephant:Sprite = e.target as Sprite;
                elephant.scaleX *= e.scaleX;
                elephant.scaleY *= e.scaleY;
            }

            private function onRotate(e:TransformGestureEvent):void
            {
                var elephant:Sprite = e.target as Sprite;
                this.rotateDebug.text = String(e.rotation);
                elephant.rotation += e.rotation;
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00