包 | flash.events |
类 | public class TransformGestureEvent |
继承 | TransformGestureEvent GestureEvent Event Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2, Flash Lite 4 |
设备或操作系统可以解释手势输入。因此,不同的设备或操作系统对各个手势类型有不同的要求。在一个设备上滑动要求的输入活动可能在另一个设备上滑动不同。请参阅硬件或操作系统文档,以了解设备或操作系统如何将接触解释为特定的手势。
使用 Multitouch 类确定当前环境的触摸交互支持,如果当前环境支持触摸交互,则对其进行管理。
注意:当对象嵌套在显示列表中时,触摸事件的目标将是显示列表中可见的最深的可能嵌套对象。此对象称为目标节点。要使目标节点的祖代(祖代是一个包含显示列表中所有目标节点的对象,从舞台到目标节点的父节点均包括在内)接收触摸事件的通知,请对祖代节点使用 EventDispatcher.addEventListener()
并将 type 参数设置为要检测的特定触摸事件。
当用户与此设备接触时,TransformGestureEvent 对象的缩放、旋转和偏移属性是上一手势事件中的增量值。例如,当手势增大显示对象大小时,缩放值可能依次为 1.03
、1.01
、1.01
、1.02
,表示显示对象在手势结束时对其原始大小缩放了 1.0717 倍。
对于 TransformGestureEvent 对象,不由当前手势修改的属性将设置为标识值。例如,全景手势不能进行旋转或缩放转换,因此事件对象的 rotation
值为 0
,scaleX
和 scaleY
属性为 1
。
相关 API 元素
flash.events.TouchEvent
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
属性 | 由以下参数定义 | ||
---|---|---|---|
altKey : Boolean
表示 Alt 键是处于活动状态 (true) 还是非活动状态 (false)。 | GestureEvent | ||
bubbles : Boolean [只读]
表示事件是否为冒泡事件。 | Event | ||
cancelable : Boolean [只读]
表示是否可以阻止与事件相关联的行为。 | Event | ||
commandKey : Boolean
表示是否已激活 Command 键(仅限 Mac)。 | GestureEvent | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
controlKey : Boolean
表示在 Mac 中是否已激活 Control 键,以及在 Windows 或 Linux 中是否已激活 Ctrl 键。 | GestureEvent | ||
ctrlKey : Boolean
在 Windows 或 Linux 中,表示 Ctrl 键是处于活动状态 (true) 还是非活动状态 (false)。 | GestureEvent | ||
currentTarget : Object [只读]
当前正在使用某个事件侦听器处理 Event 对象的对象。 | Event | ||
eventPhase : uint [只读]
事件流中的当前阶段。 | Event | ||
localX : Number
事件发生点相对于所属 Sprite 的水平坐标。 | GestureEvent | ||
localY : Number
事件发生点相对于所属 Sprite 的垂直坐标。 | GestureEvent | ||
offsetX : Number
自上一手势事件后显示对象的水平转换。 | TransformGestureEvent | ||
offsetY : Number
自上一手势事件后显示对象的垂直转换。 | TransformGestureEvent | ||
phase : String
GesturePhase 类中用于表示触摸操作的进度的值。 | GestureEvent | ||
rotation : Number
自上一手势事件后显示对象当前沿 Z 轴的旋转角度(以度为单位)。 | TransformGestureEvent | ||
scaleX : Number
自上一手势事件后显示对象的水平缩放。 | TransformGestureEvent | ||
scaleY : Number
自上一手势事件后显示对象的垂直缩放。 | TransformGestureEvent | ||
shiftKey : Boolean
表示 Shift 键是处于活动状态 (true) 还是非活动状态 (false)。 | GestureEvent | ||
stageX : Number [只读]
事件发生点在全局舞台坐标中的水平坐标。 | GestureEvent | ||
stageY : Number [只读]
事件发生点在全局舞台坐标中的垂直坐标。 | GestureEvent | ||
target : Object [只读]
事件目标。 | Event | ||
type : 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 | ||
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。 | Event | ||
表示对象是否已经定义了指定的属性。 | Object | ||
检查是否已对事件调用 preventDefault() 方法。 | Event | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果可以取消事件的默认行为,则取消该行为。 | Event | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 | Event | ||
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 | Event | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
[覆盖]
返回一个字符串,其中包含 TransformGestureEvent 对象的所有属性。 | TransformGestureEvent | ||
如果显示列表已由事件处理函数修改,则在处理手势事件后刷新 Flash 运行时显示。 | GestureEvent | ||
返回指定对象的原始值。 | 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 | 属性 |
offsetY | 属性 |
rotation | 属性 |
scaleX | 属性 |
scaleY | 属性 |
velocity | 属性 |
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_PAN 、TransformGestureEvent.GESTURE_ROTATE 、TransformGestureEvent.GESTURE_SWIPE 和 TransformGestureEvent.GESTURE_ZOOM 。
| |
bubbles:Boolean (default = true ) — 确定 Event 对象是否参与事件流的冒泡阶段。
| |
cancelable:Boolean (default = false ) — 确定是否可以取消 Event 对象。
| |
phase:String (default = null ) — 此值跟踪触摸手势的开始、进展和结束。可能的值是:GesturePhase.BEGIN 、GesturePhase.END 和 GesturePhase.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 | () | 方法 |
toString | () | 方法 |
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)。 |
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
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)。 |
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
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)。 |
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
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)。 |
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
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)。 |
bubbles | true |
cancelable | false ;没有要取消的默认行为。 |
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"; } }
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"; } }
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; } } }
Tue Jun 12 2018, 11:04 AM Z