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 |
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
.
More examples
Related API Elements
flash.events.TouchEvent
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
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 |
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 | ||
[override]
Creates a copy of the TransformGestureEvent object and sets the value of each property to match that of the original. | TransformGestureEvent | ||
A utility function for implementing the toString() method in custom
ActionScript 3.0 Event classes. | Event | ||
Indicates whether an object has a specified property defined. | Object | ||
Checks whether the preventDefault() method has been called on the event. | Event | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Cancels an event's default behavior if that behavior can be canceled. | Event | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Prevents processing of any event listeners in the current node and any subsequent nodes in
the event flow. | Event | ||
Prevents processing of any event listeners in nodes subsequent to the current node in the
event flow. | Event | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
[override]
Returns a string that contains all the properties of the TransformGestureEvent object. | TransformGestureEvent | ||
Refreshes the Flash runtime display after processing the gesture event, in case the display list has been modified by the event handler. | GestureEvent | ||
Returns the primitive value of the specified object. | Object |
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 |
offsetX | property |
offsetY | property |
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 |
scaleY | property |
velocity | property |
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.
Parameterstype: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
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.
ReturnsEvent — 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 ... ]
String — A string that contains all the properties of the TransformGestureEvent object.
|
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
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
Example ( How to use this example )
GESTURE_PAN
events.
While the user performs a pan gesture on the touch-enabled device, myTextField populates with the current phase.
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
Example ( How to use this example )
GESTURE_ROTATE
events.
While the user performs a rotation gesture on the touch-enabled device, mySprite rotates and myTextField populates with the current phase.
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
Example ( How to use this example )
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.
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
Example ( How to use this example )
GESTURE_ZOOM
events.
While the user performs a zoom gesture on the touch-enabled device, myTextField populates with the current phase.
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"; } }
GESTURE_ROTATE
events.
While the user performs a rotation gesture on the touch-enabled device, mySprite rotates and myTextField populates with the current phase.
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"; } }
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; } } }
Thu Dec 6 2018, 01:12 PM -08:00