用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
flash.events 

TransformGestureEvent  - AS3

flash.events
public class TransformGestureEvent
继承TransformGestureEvent Inheritance GestureEvent Inheritance Event Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

使用 TransformGestureEvent 类可以处理设备或操作系统解释为手势的复杂移动输入事件,例如在触摸屏幕上移动手指。一个手势可具有一个或多个触摸点。当用户与带有触摸屏的移动电话或平板电脑等设备交互时,用户通常用手指触摸并沿着屏幕移动手指或指针设备。可以使用 GestureEvent、PressAndTapGestureEvent 和 TransformGestureEvent 类开发响应此用户交互的应用程序。使用此处或相关的 GestureEvent 和 TouchEvent 类中定义的事件类型创建事件侦听器。并使用这些类的属性和方法来构造响应用户触摸设备的事件处理程序。

设备或操作系统可以解释手势输入。因此,不同的设备或操作系统对各个手势类型有不同的要求。在一个设备上滑动要求的输入活动可能在另一个设备上滑动不同。请参阅硬件或操作系统文档,以了解设备或操作系统如何将接触解释为特定的手势。

使用 Multitouch 类确定当前环境的触摸交互支持,如果当前环境支持触摸交互,则对其进行管理。

注意:当对象嵌套在显示列表中时,触摸事件的目标将是显示列表中可见的最深的可能嵌套对象。此对象称为目标节点。要使目标节点的祖代(祖代是一个包含显示列表中所有目标节点的对象,从舞台到目标节点的父节点均包括在内)接收触摸事件的通知,请对祖代节点使用 EventDispatcher.addEventListener() 并将 type 参数设置为要检测的特定触摸事件。

当用户与此设备接触时,TransformGestureEvent 对象的缩放、旋转和偏移属性是上一手势事件中的增量值。例如,当手势增大显示对象大小时,缩放值可能依次为 1.031.011.011.02,表示显示对象在手势结束时对其原始大小缩放了 1.0717 倍。

对于 TransformGestureEvent 对象,不由当前手势修改的属性将设置为标识值。例如,全景手势不能进行旋转或缩放转换,因此事件对象的 rotation 值为 0scaleXscaleY 属性为 1

查看示例

相关 API 元素



公共属性
 属性由以下参数定义
 InheritedaltKey : Boolean
表示 Alt 键是处于活动状态 (true) 还是非活动状态 (false)。
GestureEvent
 Inheritedbubbles : Boolean
[只读] 表示事件是否为冒泡事件。
Event
 Inheritedcancelable : Boolean
[只读] 表示是否可以阻止与事件相关联的行为。
Event
 Inherited    commandKey : Boolean
表示是否已激活 Command 键(仅限 Mac)。
GestureEvent
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedcontrolKey : Boolean
表示在 Mac 中是否已激活 Control 键,以及在 Windows 或 Linux 中是否已激活 Ctrl 键。
GestureEvent
 InheritedctrlKey : Boolean
在 Windows 或 Linux 中,表示 Ctrl 键是处于活动状态 (true) 还是非活动状态 (false)。
GestureEvent
 InheritedcurrentTarget : Object
[只读] 当前正在使用某个事件侦听器处理 Event 对象的对象。
Event
 InheritedeventPhase : uint
[只读] 事件流中的当前阶段。
Event
 InheritedlocalX : Number
事件发生点相对于所属 Sprite 的水平坐标。
GestureEvent
 InheritedlocalY : Number
事件发生点相对于所属 Sprite 的垂直坐标。
GestureEvent
  offsetX : Number
自上一手势事件后显示对象的水平转换。
TransformGestureEvent
  offsetY : Number
自上一手势事件后显示对象的垂直转换。
TransformGestureEvent
 Inheritedphase : String
GesturePhase 类中用于表示触摸操作的进度的值。
GestureEvent
  rotation : Number
自上一手势事件后显示对象当前沿 Z 轴的旋转角度(以度为单位)。
TransformGestureEvent
  scaleX : Number
自上一手势事件后显示对象的水平缩放。
TransformGestureEvent
  scaleY : Number
自上一手势事件后显示对象的垂直缩放。
TransformGestureEvent
 InheritedshiftKey : Boolean
表示 Shift 键是处于活动状态 (true) 还是非活动状态 (false)。
GestureEvent
 InheritedstageX : Number
[只读] 事件发生点在全局舞台坐标中的水平坐标。
GestureEvent
 InheritedstageY : Number
[只读] 事件发生点在全局舞台坐标中的垂直坐标。
GestureEvent
 Inheritedtarget : Object
[只读] 事件目标。
Event
 Inheritedtype : String
[只读] 事件的类型。
Event
  velocity : Number
转换手势事件的速度,单位是像素/秒。
TransformGestureEvent
公共方法
 方法由以下参数定义
  
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)
创建包含有关复杂多点触控事件信息(例如用户沿着屏幕滑动手指)的 Event 对象。
TransformGestureEvent
  
[覆盖] 创建 TransformGestureEvent 对象的副本,并将每个属性的值设置为与原始属性值相匹配。
TransformGestureEvent
 Inherited
formatToString(className:String, ... arguments):String
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。
Event
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
检查是否已对事件调用 preventDefault() 方法。
Event
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
如果可以取消事件的默认行为,则取消该行为。
Event
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。
Event
 Inherited
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。
Event
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
  
[覆盖] 返回一个字符串,其中包含 TransformGestureEvent 对象的所有属性。
TransformGestureEvent
 Inherited
如果显示列表已由事件处理函数修改,则在处理手势事件后刷新 Flash 运行时显示。
GestureEvent
 Inherited
返回指定对象的原始值。
Object
公共常量
 常量由以下参数定义
  GESTURE_DIRECTIONAL_TAP : String = "gestureDirectionalTap"
[静态] 定义 GESTURE_DIRECTIONAL_TAP 触摸事件对象的 type 属性的值。
TransformGestureEvent
  GESTURE_PAN : String = "gesturePan"
[静态] 定义 GESTURE_PAN 触摸事件对象的 type 属性的值。
TransformGestureEvent
  GESTURE_ROTATE : String = "gestureRotate"
[静态] 定义 GESTURE_ROTATE 触摸事件对象的 type 属性的值。
TransformGestureEvent
  GESTURE_SWIPE : String = "gestureSwipe"
[静态] 定义 GESTURE_SWIPE 触摸事件对象的 type 属性的值。
TransformGestureEvent
  GESTURE_ZOOM : String = "gestureZoom"
[静态] 定义 GESTURE_ZOOM 触摸事件对象的 type 属性的值。
TransformGestureEvent
属性详细信息

offsetX

属性
offsetX:Number

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

自上一手势事件后显示对象的水平转换。



实现
    public function get offsetX():Number
    public function set offsetX(value:Number):void

offsetY

属性 
offsetY:Number

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

自上一手势事件后显示对象的垂直转换。



实现
    public function get offsetY():Number
    public function set offsetY(value:Number):void

rotation

属性 
rotation:Number

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

自上一手势事件后显示对象当前沿 Z 轴的旋转角度(以度为单位)。



实现
    public function get rotation():Number
    public function set rotation(value:Number):void

scaleX

属性 
scaleX:Number

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

自上一手势事件后显示对象的水平缩放。



实现
    public function get scaleX():Number
    public function set scaleX(value:Number):void

scaleY

属性 
scaleY:Number

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

自上一手势事件后显示对象的垂直缩放。



实现
    public function get scaleY():Number
    public function set scaleY(value:Number):void

velocity

属性 
velocity:Number

语言版本: ActionScript 3.0
运行时版本: AIR 24, Flash Lite 4

转换手势事件的速度,单位是像素/秒。



实现
    public function get velocity():Number
    public function set velocity(value:Number):void
构造函数详细信息

TransformGestureEvent

()构造函数
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)

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

创建包含有关复杂多点触控事件信息(例如用户沿着屏幕滑动手指)的 Event 对象。将 Event 对象作为参数传递给事件侦听器。

参数
type:String — 事件的类型。可能的值是:TransformGestureEvent.GESTURE_PANTransformGestureEvent.GESTURE_ROTATETransformGestureEvent.GESTURE_SWIPETransformGestureEvent.GESTURE_ZOOM
 
bubbles:Boolean (default = true) — 确定 Event 对象是否参与事件流的冒泡阶段。
 
cancelable:Boolean (default = false) — 确定是否可以取消 Event 对象。
 
phase:String (default = null) — 此值跟踪触摸手势的开始、进展和结束。可能的值是:GesturePhase.BEGINGesturePhase.ENDGesturePhase.UPDATE
 
localX:Number (default = 0) — 事件发生点相对于所属的显示对象的水平坐标。
 
localY:Number (default = 0) — 事件发生点相对于所属的显示对象的垂直坐标。
 
scaleX:Number (default = 1.0) — 显示对象的水平缩放。
 
scaleY:Number (default = 1.0) — 显示对象的垂直缩放。
 
rotation:Number (default = 0) — 显示对象当前沿 Z 轴的旋转角度(以度为单位)。
 
offsetX:Number (default = 0) — 显示对象从其原始位置的水平转换。
 
offsetY:Number (default = 0) — 显示对象从其原始位置的垂直转换。
 
ctrlKey:Boolean (default = false) — (仅限 AIR)转换手势的速度,单位是像素/秒。
 
altKey:Boolean (default = false) — 在 Windows 或 Linux 中,表示是否已激活 Ctrl 键。在 Mac 中,表示是否已激活 Ctrl 键或 Command 键。
 
shiftKey:Boolean (default = false) — 表示是否已激活 Alt 键(仅限 Windows 或 Linux)。
 
commandKey:Boolean (default = false) — 表示是否已激活 Shift 键。
 
controlKey:Boolean (default = false) — (仅 AIR)表示 Command 键是否已激活(仅限 Mac)。此参数仅适用于 Adobe AIR;请勿对 Flash Player 内容设置此参数。
 
velocity:Number (default = 0) — (仅 AIR)表示 Control 或 Ctrl 键是否已激活。此参数仅适用于 Adobe AIR;请勿对 Flash Player 内容设置此参数。

相关 API 元素

方法详细信息

clone

()方法
override public function clone():Event

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

创建 TransformGestureEvent 对象的副本,并将每个属性的值设置为与原始属性值相匹配。

返回
Event — 其属性值与原始属性值相匹配的新 TransformGestureEvent 对象。

toString

()方法 
override public function toString():String

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

返回一个字符串,其中包含 TransformGestureEvent 对象的所有属性。字符串的格式如下:

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

返回
String — 一个字符串,其中包含 TransformGestureEvent 对象的所有属性。
常量详细信息

GESTURE_DIRECTIONAL_TAP

常量
public static const GESTURE_DIRECTIONAL_TAP:String = "gestureDirectionalTap"

语言版本: ActionScript 3.0
运行时版本: AIR 24, Flash Lite 4

定义GESTURE_DIRECTIONAL_TAP 触摸事件对象的 type 属性的值。

调度的 TransformGestureEvent 对象具有下列属性:

属性
altKey如果 Alt 键处于活动状态,则为 true(Windows 或 Linux)。
bubblestrue
cancelablefalse;没有要取消的默认行为。
commandKey在 Mac 中,如果 Command 键处于活动状态,则为 true;如果处于非活动状态,则为 false。在 Windows 中始终为 false
controlKey如果 Ctrl 或 Control 键处于活动状态,则为 true,如果处于非活动状态,则为 false
ctrlKey在 Windows 或 Linux 中,如果 Ctrl 键处于活动状态,则为 true。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true。否则为 false
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
phase事件流中的当前阶段。对于滑动事件,调度此事件后,此值始终是 all,与值 GesturePhase.ALL 对应。
localX事件发生的水平坐标(相对于包含的 sprite)。对于方向轻击手势,此值是屏幕的中心。
localY事件发生的垂直坐标(相对于包含的 sprite)。对于方向轻击手势,此值是屏幕的中心。
scaleX显示对象的水平缩放。对于方向轻击手势,此值为 1
scaleY显示对象的垂直缩放。对于方向轻击手势,此值为 1
rotation显示对象当前沿 Z 轴的旋转角度(以度为单位)。对于方向轻击手势,此值为 0
offsetX表示水平方向:1 表示向右,-1 表示向左。
offsetY表示垂直方向:1 表示向下,-1 表示向上。
速度指示滑动手势的速度,单位是像素/秒(仅限 AIR)。
shiftKey如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false
target触摸设备下的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

相关 API 元素

GESTURE_PAN

常量 
public static const GESTURE_PAN:String = "gesturePan"

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

定义 GESTURE_PAN 触摸事件对象的 type 属性的值。

调度的 TransformGestureEvent 对象具有下列属性:

属性
altKey如果 Alt 键处于活动状态,则为 true(Windows 或 Linux)。
bubblestrue
cancelablefalse;没有要取消的默认行为。
commandKey在 Mac 中,如果 Command 键处于活动状态,则为 true;如果处于非活动状态,则为 false。在 Windows 中始终为 false
controlKey如果 Ctrl 或 Control 键处于活动状态,则为 true,如果处于非活动状态,则为 false
ctrlKey在 Windows 或 Linux 中,如果 Ctrl 键处于活动状态,则为 true。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true。否则为 false
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
phase事件流的当前阶段;GesturePhase 类的值。
localX事件发生点相对于所属的显示对象的水平坐标。
localY事件发生点相对于所属的显示对象的垂直坐标。
scaleX自上一手势事件后显示对象的水平缩放。对于全景手势,此值是 1
scaleY自上一手势事件后显示对象的垂直缩放。对于全景手势,此值是 1
rotation自上一手势事件后显示对象当前沿 Z 轴的旋转角度(以度为单位)。对于全景手势,此值是 0
offsetX显示对象从其在上一手势事件位置处的水平转换。
offsetY显示对象从其在上一手势事件位置处的垂直转换。
速度手势事件的速度,单位是像素/秒(仅限 AIR)。对于全景手势,此值为 0
shiftKey如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false
target触摸设备下的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

相关 API 元素


示例  ( 如何使用本示例 )

以下示例将显示如何对 GESTURE_PAN 事件进行事件处理。当用户在启用触摸的设备上执行平移手势时,myTextField 将使用当前的阶段进行填充。
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

常量 
public static const GESTURE_ROTATE:String = "gestureRotate"

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

定义 GESTURE_ROTATE 触摸事件对象的 type 属性的值。

在此事件期间,rotation 属性包含旋转角度。旋转值如下:

  • 0 到 180 度表示顺时针方向
  • -180 到 0 度表示逆时针方向

调度的 TransformGestureEvent 对象具有下列属性:

属性
altKey如果 Alt 键处于活动状态,则为 true(Windows 或 Linux)。
bubblestrue
cancelablefalse;没有要取消的默认行为。
commandKey在 Mac 中,如果 Command 键处于活动状态,则为 true;如果处于非活动状态,则为 false。在 Windows 中始终为 false
controlKey如果 Ctrl 或 Control 键处于活动状态,则为 true,如果处于非活动状态,则为 false
ctrlKey在 Windows 或 Linux 中,如果 Ctrl 键处于活动状态,则为 true。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true。否则为 false
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
phase事件流的当前阶段;GesturePhase 类的值。
localX事件发生点相对于所属的显示对象的水平坐标。
localY事件发生点相对于所属的显示对象的垂直坐标。
scaleX自上一手势事件后显示对象的水平缩放。
scaleY自上一手势事件后显示对象的垂直缩放。
rotation自上一手势事件后显示对象当前沿 Z 轴的旋转角度(以度为单位)。
offsetX显示对象从其在上一手势事件位置处的水平转换。
offsetY显示对象从其在上一手势事件位置处的垂直转换。
速度手势事件的速度,单位是像素/秒(仅限 AIR)。对于旋转手势,此值为 0
shiftKey如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false
target触摸设备下的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

相关 API 元素


示例  ( 如何使用本示例 )

以下示例显示针对 GESTURE_ROTATE 事件的事件处理。当用户在启用触摸的设备上执行旋转手势时,mySprite 旋转,myTextField 填充为当前阶段。
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

常量 
public static const GESTURE_SWIPE:String = "gestureSwipe"

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

定义 GESTURE_SWIPE 触摸事件对象的 type 属性的值。

调度的 TransformGestureEvent 对象具有下列属性:

属性
altKey如果 Alt 键处于活动状态,则为 true(Windows 或 Linux)。
bubblestrue
cancelablefalse;没有要取消的默认行为。
commandKey在 Mac 中,如果 Command 键处于活动状态,则为 true;如果处于非活动状态,则为 false。在 Windows 中始终为 false
controlKey如果 Ctrl 或 Control 键处于活动状态,则为 true,如果处于非活动状态,则为 false
ctrlKey在 Windows 或 Linux 中,如果 Ctrl 键处于活动状态,则为 true。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true。否则为 false
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
phase事件流中的当前阶段。对于滑动事件,调度此事件后,此值始终是 all,与值 GesturePhase.ALL 对应。
localX事件发生点相对于所属 Sprite 的水平坐标。
localY事件发生点相对于所属 Sprite 的垂直坐标。
scaleX显示对象的水平缩放。对于滑动手势,此值是 1
scaleY显示对象的垂直缩放。对于滑动手势,此值是 1
rotation显示对象当前沿 Z 轴的旋转角度(以度为单位)。对于滑动手势,此值是 0
offsetX表示水平方向:1 表示向右,-1 表示向左。
offsetY表示垂直方向:1 表示向下,-1 表示向上。
速度指示滑动手势的速度,单位是像素/秒(仅限 AIR)。对于静止状态,此值为 0
shiftKey如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false
target触摸设备下的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

相关 API 元素


示例  ( 如何使用本示例 )

以下示例将显示如何对 GESTURE_SWIPE 事件进行事件处理。当用户在启用触摸的设备上执行滑动手势时,myTextField 将使用滑动事件的唯一阶段 all 进行填充。
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

常量 
public static const GESTURE_ZOOM:String = "gestureZoom"

语言版本: ActionScript 3.0
运行时版本: Flash Player 10.1, AIR 2, Flash Lite 4

定义 GESTURE_ZOOM 触摸事件对象的 type 属性的值。

调度的 TransformGestureEvent 对象具有下列属性:

属性
altKey如果 Alt 键处于活动状态,则为 true(Windows 或 Linux)。
bubblestrue
cancelablefalse;没有要取消的默认行为。
commandKey在 Mac 中,如果 Command 键处于活动状态,则为 true;如果处于非活动状态,则为 false。在 Windows 中始终为 false
controlKey如果 Ctrl 或 Control 键处于活动状态,则为 true,如果处于非活动状态,则为 false
ctrlKey在 Windows 或 Linux 中,如果 Ctrl 键处于活动状态,则为 true。在 Mac 中,如果 Ctrl 键或 Command 键处于活动状态,则为 true。否则为 false
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
phase事件流的当前阶段;GesturePhase 类的值。
localX事件发生点相对于所属的显示对象的水平坐标。
localY事件发生点相对于所属的显示对象的垂直坐标。
scaleX自上一手势事件后显示对象的水平缩放。
scaleY自上一手势事件后显示对象的垂直缩放。
rotation自上一手势事件后显示对象当前沿 Z 轴的旋转角度(以度为单位)。
offsetX显示对象从其在上一手势事件位置处的水平转换。
offsetY显示对象从其在上一手势事件位置处的垂直转换。
速度手势事件的速度,单位是像素/秒(仅限 AIR)。对于缩放手势,此值为 0
shiftKey如果 Shift 键处于活动状态,则为 true;如果处于非活动状态,则为 false
target触摸设备下的 InteractiveObject 实例。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

相关 API 元素


示例  ( 如何使用本示例 )

以下示例将显示如何对 GESTURE_ZOOM 事件进行事件处理。当用户在启用触摸的设备上执行缩放手势时,myTextField 将使用当前的阶段进行填充。
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";
    }
}
TransformGestureEventExample.as

以下示例显示针对 GESTURE_ROTATE 事件的事件处理。当用户在启用触摸的设备上执行旋转手势时,mySprite 旋转,myTextField 填充为当前阶段。
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

下面的示例说明如何处理转换手势事件。本示例假设本地系统上包含一个名为“african_elephant.jpg”的图像,并且该图像与 TransformGestureExample2 类位于同一个目录中。此示例由 Christian Cantrell 提供,他在快速入门指南中对此示例进行了更详细介绍:Multi-touch and gesture support on the Flash Platform
 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;
        }
    }
}




[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。