flash.uiMouseCursorData MouseCursorData 类允许您定义“本机”鼠标光标的外观。定义自定义鼠标指针。 Object MouseCursorData 类允许您定义“本机”鼠标光标的外观。

若要显示指针,请使用 Mouse.registerCursor() 函数。若要将指针图像的控制返回到操作系统,请调用 Mouse.unregisterCursor()。调用 Mouse.supportsNativeCursor 可测试在当前计算机上是否支持本机指针。

最大指针大小为 32x32 像素。大多数操作系统上都支持透明度。

可以直接通过操作系统指针机制实现本机鼠标指针,此方式比使用显示对象来显示自定义指针图像更有效。通过在 data 属性中提供多个图像并设置帧速率,可以为指针添加动画效果。

指针仅在舞台范围内显示。在舞台范围以外,光标图像的控件会返回到操作系统

以下示例会创建并显示鼠标光标的旋转箭头。

此示例使用通过 Graphics 类获得的绘图命令来创建箭头的八个旋转图像。这些图像会推进到一个矢量,并分配到 MouseCursorData 对象的 data 属性。(请注意,您还可以为光标使用预呈现的位图图像。)

package { import flash.display.Sprite; import flash.display.Shape; import flash.display.BitmapData; import flash.display.GraphicsPath; import flash.ui.MouseCursorData; import flash.ui.Mouse; import flash.geom.Matrix; public class MouseCursorDataExample extends Sprite { //Graphics path data for an arrow private var cursorPoints:Vector.<Number> = new <Number>[0,8, 16,8, 16,0, 24,12, 16,24, 16,16, 0,16, 0,8]; private var cursorDrawCommands:Vector.<int> = new <int>[1,2,2,2,2,2,2,2]; public function MouseCursorDataExample() { var mouseCursorData:MouseCursorData = new MouseCursorData(); mouseCursorData.data = makeCursorImages(); mouseCursorData.frameRate = 1; Mouse.registerCursor( "spinningArrow", mouseCursorData ); Mouse.cursor = "spinningArrow"; } //Returns a Vector containing 8 cursor images private function makeCursorImages():Vector.<BitmapData> { var cursorData:Vector.<BitmapData> = new Vector.<BitmapData>(); var cursorShape:Shape = new Shape(); cursorShape.graphics.beginFill( 0xff5555, .75 ); cursorShape.graphics.lineStyle( 1 ); cursorShape.graphics.drawPath( cursorDrawCommands, cursorPoints ); cursorShape.graphics.endFill(); var transformer:Matrix = new Matrix(); //Rotate and draw the arrow shape to a BitmapData object for each of 8 frames for( var i:int = 0; i < 8; i++ ) { var cursorFrame:BitmapData = new BitmapData( 32, 32, true, 0 ); cursorFrame.draw( cursorShape, transformer ); cursorData.push( cursorFrame ); transformer.translate(-15,-15); transformer.rotate( 0.785398163 ); transformer.translate(15,15); } return cursorData; } } }
flash.ui.Mouse.cursorAIR 手册:Flash Player 10.2+ 本机鼠标光标MouseCursorData 创建一个 MouseCursorData 对象。构造函数。 创建一个 MouseCursorData 对象。

若要显示该光标,请调用 Mouse.registerCursor() 函数。

flash.ui.Mouse.registerCursor()
data BitmapData 对象的 Vector 包含光标图像或图像。鼠标光标图像或图像。 BitmapData 对象的 Vector 包含光标图像或图像。

提供多个图像,并将 framerate 属性设置为使光标具有动画效果。

最大光标大小为 32x32 像素。

frameRate 使光标具有动画效果的帧速率。Number鼠标帧速率。 使光标具有动画效果的帧速率。

data 属性中提供多个图像并将帧速率设置为大于 0 的值,以便为指针添加动画效果。光标帧速率可能不同于当前的 SWF 帧速率。

hotSpot 以像素表示的光标热点。flash.geom:Point光标热点。 以像素表示的光标热点。

热点是指在光标上注册鼠标单击所在的点。默认情况下,热点位于左上角 (0,0)。

ContextMenuBuiltInItems ContextMenuBuiltInItems 类描述内置于上下文菜单中的项。Object ContextMenuBuiltInItems 类描述内置于上下文菜单中的项。可以通过使用 ContextMenu.hideBuiltInItems() 方法隐藏这些项。 下例使用 ContextMenuBuiltInItemsExample 类从舞台中删除正常的上下文菜单项,并添加新的菜单项。这是由以下步骤完成的:
  1. 声明属性 myContextMenu,然后将其赋给新的 ContextMenu 对象。
  2. 调用 removeDefaultItems() 方法,该方法将删除所有内置的上下文菜单项(“打印”除外)。
  3. 调用 addCustomMenuItems() 方法,该方法使用数组的 push() 方法将称为 Hello World 的菜单项放入 customItems 数组。
  4. Hello World 菜单项于是添加到舞台的上下文菜单项列表中。
  5. 使用 addChild(),通过 createLabel(),将具有文本“右键单击”的 TextField 对象添加到舞台的中央。
package { import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import flash.ui.ContextMenuBuiltInItems; import flash.display.Sprite; import flash.text.TextField; public class ContextMenuBuiltInItemsExample extends Sprite { private var myContextMenu:ContextMenu; public function ContextMenuBuiltInItemsExample() { myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); this.contextMenu = myContextMenu; addChild(createLabel()); } private function removeDefaultItems():void { myContextMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems; defaultItems.print = true; } private function addCustomMenuItems():void { var item:ContextMenuItem = new ContextMenuItem("Hello World"); myContextMenu.customItems.push(item); } private function createLabel():TextField { var txtField:TextField = new TextField(); txtField.text = "Right Click"; txtField.x = this.stage.stageWidth/2 - txtField.width/2; txtField.y = this.stage.stageHeight/2 - txtField.height/2; return txtField; } } }
ContextMenu.hideBuiltInItems()ContextMenuBuiltInItems 创建新的 ContextMenuBuiltInItems 对象,以便设置属性使 Flash Player 显示或隐藏每个菜单项。 创建新的 ContextMenuBuiltInItems 对象,以便设置属性使 Flash Player 显示或隐藏每个菜单项。 forwardAndBack 允许用户在运行时在 SWF 文件中前进或后退一帧(单帧 SWF 文件不显示此属性)。Boolean 允许用户在运行时在 SWF 文件中前进或后退一帧(单帧 SWF 文件不显示此属性)。 loop 允许用户将 SWF 文件设置为在到达最后一帧后自动重新开始(单帧 SWF 文件不显示此属性)。Boolean 允许用户将 SWF 文件设置为在到达最后一帧后自动重新开始(单帧 SWF 文件不显示此属性)。 play 允许用户启动暂停的 SWF 文件(单帧 SWF 文件不显示此属性)。Boolean 允许用户启动暂停的 SWF 文件(单帧 SWF 文件不显示此属性)。 print 允许用户将显示的帧图像发送至打印机。Boolean 允许用户将显示的帧图像发送至打印机。 quality 允许用户在运行时设置 SWF 文件的分辨率。Boolean 允许用户在运行时设置 SWF 文件的分辨率。 rewind 允许用户将 SWF 文件设置为随时从选定的第一帧开始播放(单帧 SWF 文件不显示此属性)。Boolean 允许用户将 SWF 文件设置为随时从选定的第一帧开始播放(单帧 SWF 文件不显示此属性)。 save 允许安装了 Shockmachine 的用户保存 SWF 文件。Boolean 允许安装了 Shockmachine 的用户保存 SWF 文件。 zoom 允许用户在运行时放大和缩小 SWF 文件。Boolean 允许用户在运行时放大和缩小 SWF 文件。
MouseCursor MouseCursor 类是在设置 Mouse 类的 cursor 属性时使用的常量值的枚举。Object MouseCursor 类是在设置 Mouse 类的 cursor 属性时使用的常量值的枚举。 flash.ui.Mouse.cursorARROW 用于指定应使用箭头光标。arrowString 用于指定应使用箭头光标。 AUTO 用于指定应根据鼠标下的对象自动选择光标。autoString 用于指定应根据鼠标下的对象自动选择光标。 BUTTON 用于指定应使用按压按钮的手形光标。buttonString 用于指定应使用按压按钮的手形光标。 HAND 用于指定应使用拖动手形光标。handString 用于指定应使用拖动手形光标。 IBEAM 用于指定应使用工字形光标。ibeamString 用于指定应使用工字形光标。 MultitouchInputMode MultitouchInputMode 类提供 flash.ui.Multitouch 类的 inputMode 属性值。Object MultitouchInputMode 类提供 flash.ui.Multitouch 类的 inputMode 属性值。这些值设置用户与启用触屏的设备交互时 Flash 运行时调度的接触事件类型。 以下示例在启用触摸的屏幕上点击在 mySprite 上绘制的正方形时显示一条信息: Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT; var mySprite:Sprite = new Sprite(); var myTextField:TextField = new TextField(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawRect(0,0,40,40); addChild(mySprite); mySprite.addEventListener(TouchEvent.TOUCH_TAP, taphandler); function taphandler(e:TouchEvent): void { myTextField.text = "I've been tapped"; myTextField.y = 50; addChild(myTextField); } flash.ui.Multitouch.inputModeGESTURE 指定为当前环境支持的相关用户交互调度 TransformGestureEvent、PressAndTapGestureEvent 和 GestureEvent 事件并将其他触摸事件(例如,轻敲)解释为鼠标事件。gestureString 指定为当前环境支持的相关用户交互调度 TransformGestureEvent、PressAndTapGestureEvent 和 GestureEvent 事件并将其他触摸事件(例如,轻敲)解释为鼠标事件。 flash.ui.Multitouch.inputModeflash.events.TransformGestureEventflash.events.GestureEventflash.events.PressAndTapGestureEventflash.events.TouchEventNONE 指定将用户触摸启用触摸设备的所有行为解释为鼠标事件类型。noneString 指定将用户触摸启用触摸设备的所有行为解释为鼠标事件类型。 flash.ui.Multitouch.inputModeflash.events.MouseEventTOUCH_POINT 指定仅为基本触摸事件调度事件,如单个手指点击。touchPointString 指定仅为基本触摸事件调度事件,如单个手指点击。使用此设置时,会调度 TouchEvent 类中列出的事件;不调度 TransformGestureEvent、PressAndTapGestureEvent 和 GestureEvent 类中列出的事件。 flash.ui.Multitouch.inputModeflash.events.TransformGestureEventflash.events.GestureEventflash.events.PressAndTapGestureEventflash.events.TouchEventContextMenu 通过 ContextMenu 类,可以控制上下文菜单中显示的项。flash.display:NativeMenu 通过 ContextMenu 类,可以控制上下文菜单中显示的项。

移动浏览器支持:移动浏览器不支持此类。

AIR 配置文件支持:移动设备或用于电视的 AIR 设备不支持此功能。有关在多个配置文件之间支持 API 的详细信息,请参阅 AIR 配置文件支持

在 Flash Player 中,用户可以通过右键单击(Windows 或 Linux)或按住 Control 并单击 (Macintosh) Flash Player 打开上下文菜单。使用 ContextMenu 类的方法和属性可以添加自定义菜单项、控制内置上下文菜单项(如“放大”和“打印”)的显示或者创建菜单的副本。在 AIR 中,没有内置菜单项,也没有标准上下文菜单。

在 Flash Professional 中,您可以将 ContextMenu 对象附加到特定的按钮、影片剪辑或文本字段对象,也可以附加到整个影片级别。使用 InteractiveObject 类的 contextMenu 属性可做到这一点。

在 Flex 或 Flash Builder 中,只有应用程序中的顶层组件才能拥有上下文菜单。例如,如果 DataGrid 控件是 TabNavigator 或 VBox 容器的子级,则 DataGrid 控件不能拥有其自己的上下文菜单。

为了向 ContextMenu 对象中添加新项,可以创建一个 ContextMenuItem 对象,然后将该对象添加到 ContextMenu.customItems 数组。有关创建上下文菜单项的详细信息,请参阅 ContextMenuItem 类条目。

Flash Player 有三种类型的上下文菜单:标准菜单(当您在 Flash Player 中右键单击时出现)、编辑菜单(当您在可选择或可编辑的文本字段中右键单击时出现)和错误菜单(当 SWF 文件未能加载到 Flash Player 中时出现)。只有标准菜单和编辑菜单才能使用 ContextMenu 类进行修改。AIR 中只显示编辑菜单。

自定义菜单项始终出现在 Flash Player 上下文菜单的顶部,并位于所有可见内置菜单项之上;内置菜单项和自定义菜单项之间由一个分隔条加以分隔。您不能从上下文菜单中删除“设置”菜单项。在 Flash 中,必须有“设置”菜单项,以便用户能够访问影响其计算机上的隐私和存储的设置。您也不能删除“关于”菜单项,必须具有这个菜单项,以便用户能够了解正在使用的 Flash Player 的版本。(AIR 中不使用内置的“设置”和“关于”菜单项。)

最多可以向 Flash Player 中的上下文菜单添加 15 个自定义项。AIR 中对上下文菜单中的项数没有明确限制。

必须在使用 ContextMenu() 构造函数创建 ContextMenu 对象后才能调用其方法。

下例使用 ContextMenuExample 类从舞台中删除默认上下文菜单项,并添加一个新的菜单项,如果单击该菜单项,将可更改舞台上正方形的颜色。这是由以下步骤完成的:
  1. 声明 myContextMenu 属性,然后将其赋给新的 ContextMenu 对象,并声明 Sprite 类型的 redRectangle 属性。
  2. 调用 removeDefaultItems() 方法,该方法将删除所有内置的上下文菜单项(“打印”除外)。
  3. 调用 addCustomMenuItems() 方法,该方法使用数组的 push() 方法将称为 Red to Black 菜单选择的菜单项放入 defaultItems 数组。将 menuItemSelect 事件侦听器添加到 ContextMenuItem 对象中,关联的方法名为 menuItemSelectHandler()。当访问上下文菜单并选择 Red to Black 时,此方法使用 trace() 输出一些语句。同时,红色正方形被删除并替换为一个黑色正方形。
  4. 添加类型 menuSelect 的事件侦听器以及关联的方法 menuSelectHandler,该方法在每次打开上下文菜单中的项时只使用 trace() 输出三个语句。
  5. 然后,addChildren() 将绘制一个红色正方形并将其添加到显示列表,该红色正方形将立即显示在列表中。
  6. 最后,myContextMenu 赋给 redRectangle sprite 的上下文菜单,以便仅当鼠标移动到该正方形上方时才显示自定义上下文菜单。
package { import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import flash.ui.ContextMenuBuiltInItems; import flash.events.ContextMenuEvent; import flash.display.Sprite; import flash.display.Shape; import flash.text.TextField; public class ContextMenuExample extends Sprite { private var myContextMenu:ContextMenu; private var menuLabel:String = "Reverse Colors"; private var textLabel:String = "Right Click"; private var redRectangle:Sprite; private var label:TextField; private var size:uint = 100; private var black:uint = 0x000000; private var red:uint = 0xFF0000; public function ContextMenuExample() { myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); addChildren(); redRectangle.contextMenu = myContextMenu; } private function addChildren():void { redRectangle = new Sprite(); redRectangle.graphics.beginFill(red); redRectangle.graphics.drawRect(0, 0, size, size); addChild(redRectangle); redRectangle.x = size; redRectangle.y = size; label = createLabel(); redRectangle.addChild(label); } private function removeDefaultItems():void { myContextMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems; defaultItems.print = true; } private function addCustomMenuItems():void { var item:ContextMenuItem = new ContextMenuItem(menuLabel); myContextMenu.customItems.push(item); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); } private function menuSelectHandler(event:ContextMenuEvent):void { trace("menuSelectHandler: " + event); } private function menuItemSelectHandler(event:ContextMenuEvent):void { trace("menuItemSelectHandler: " + event); var textColor:uint = (label.textColor == black) ? red : black; var bgColor:uint = (label.textColor == black) ? black : red; redRectangle.graphics.clear(); redRectangle.graphics.beginFill(bgColor); redRectangle.graphics.drawRect(0, 0, size, size); label.textColor = textColor; } private function createLabel():TextField { var txtField:TextField = new TextField(); txtField.text = textLabel; return txtField; } } }
ContextMenuItem 类flash.display.InteractiveObject.contextMenumenuSelect 在用户首次生成上下文菜单但尚未显示上下文菜单内容时调度。flash.events.ContextMenuEvent.MENU_SELECTflash.events.ContextMenuEvent 在用户首次生成上下文菜单但尚未显示上下文菜单内容时调度。这将允许您的程序在显示菜单之前修改上下文菜单项集。用户通过右键单击指针设备来生成上下文菜单。 ContextMenu 创建 ContextMenu 对象。 创建 ContextMenu 对象。 ContextMenu.customItemsContextMenu.hideBuiltInItems()addItemAt 在菜单底部添加一个菜单项。如果 itemnullArgumentErrorArgumentError如果 item 为其他菜单的成员。 ArgumentErrorArgumentErrorflash.display:NativeMenuItemitemflash.display:NativeMenuItem要在菜单底部添加的项。 indexint 在菜单底部添加一个菜单项。

创建上下文菜单时,可以添加 NativeMenuItem 或 ContextMenuItem 对象。但是,建议在上下文菜单中仅使用一种类型的对象,以使菜单中的所有项都具有相同的属性。

clone 创建菜单和所有项目的副本。flash.display:NativeMenu 创建菜单和所有项目的副本。 containsItem 报告此菜单是否包含指定的菜单项。如果 item 位于此菜单中,则为 trueBooleanitemflash.display:NativeMenuItem要查找的项目。 报告此菜单是否包含指定的菜单项。 display 在指定位置弹出此菜单。stageflash.display:Stage要显示此菜单的 Stage 对象。 stageXNumber相对于要显示此菜单的舞台原点的水平像素数。 stageYNumber相对于要显示此菜单的舞台原点的垂直像素数。 在指定位置弹出此菜单。

注意:Flash Player 中不支持使用此方法。

getItemAt 获取指定索引处的菜单项。如果 index 位于此菜单的 items 数组的范围以外。 RangeErrorRangeError菜单中指定位置处的项目。 flash.display:NativeMenuItemindexint要返回的项目的位置(从 0 开始)。 获取指定索引处的菜单项。 getItemIndex 获取指定项目的位置。此菜单中指定项目的位置(从零开始),如果项目不在此菜单中,为 -1intitemflash.display:NativeMenuItem要查找的 NativeMenuItem 对象。 获取指定项目的位置。 hideBuiltInItems 隐藏指定的 ContextMenu 对象中的所有内置菜单项(“设置”除外)。 隐藏指定的 ContextMenu 对象中的所有内置菜单项(“设置”除外)。如果 Flash Player 的调试器版本正在运行,则会显示“调试”菜单项,尽管对于未启用远程调试功能的 SWF 文件该菜单项会变暗。

此方法仅隐藏标准上下文菜单中显示的菜单项;它不影响编辑菜单和错误菜单中显示的菜单项。

通过将 my_cm.builtInItems 的所有布尔成员设置为 false 可使此方法起作用。可以有选择地显示内置菜单项,方法是将它在 my_cm.builtInItems 中的对应成员设置为 true

注意:在 AIR 中,上下文菜单没有内置项。调用此方法将无效。

ContextMenuBuiltInItems 类ContextMenu.builtInItems
removeAllItems 删除菜单中的所有项目。 删除菜单中的所有项目。 removeItemAt 删除并返回指定索引处的菜单项。已删除的 NativeMenuItem 对象。 flash.display:NativeMenuItemindexint要删除的项目的位置(从 0 开始)。 删除并返回指定索引处的菜单项。 builtInItems ContextMenuBuiltInItems 类具有以下属性的实例:forwardAndBack、loop、play、print、quality、rewind、save 和 zoom。flash.ui:ContextMenuBuiltInItems ContextMenuBuiltInItems 类具有以下属性的实例:forwardAndBackloopplayprintqualityrewindsavezoom。将这些属性设置为 false 将删除指定的 ContextMenu 对象中的对应菜单项。这些属性是可枚举的属性,默认情况下设置为 true

注意:在 AIR 中,上下文菜单没有内置项。

ContextMenuBuiltInItems 类ContextMenu.hideBuiltInItems()
clipboardItems ContextMenuClipboardItems 类具有以下属性的实例:cut、copy、paste、delete 和 selectAll。flash.ui:ContextMenuClipboardItems ContextMenuClipboardItems 类具有以下属性的实例:cutcopypastedeleteselectAll。若将其中一个属性设置为 false,则禁用剪贴板菜单中的相应项。 下面的示例演示 ContextMenu 对象的 clipboardItems 属性的用法。创建一个 ContextMenu 并将其 clipboardMenu 属性设置为 true。添加 MENU_SELECT 事件的事件处理函数(通常是右键单击),并将菜单分配给一个显示对象。在这种情况下,将启用 copypaste 菜单。 package { import flash.ui.ContextMenu; import flash.events.ContextMenuEvent; import flash.display.Sprite; public class ContextMenuClipboardItemsExample extends Sprite { public function ContextMenuClipboardItemsExample() { var myContextMenu:ContextMenu = new ContextMenu(); myContextMenu.clipboardMenu = true; myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); var rc:Sprite = new Sprite(); rc.graphics.beginFill(0xDDDDDD); rc.graphics.drawRect(0,0,100,30); addChild(rc); rc.contextMenu = myContextMenu; } function menuSelectHandler(event:ContextMenuEvent):void { event.contextMenuOwner.contextMenu.clipboardItems.copy = true; event.contextMenuOwner.contextMenu.clipboardItems.paste = true; } } } ContextMenuClipboardItems 类clipboardMenu 指定是否应使用剪贴板菜单。Boolean 指定是否应使用剪贴板菜单。如果此值为 true,则 clipboardItems 属性将确定在剪贴板菜单上启用或禁用哪些项。

如果 link 属性不为 null,将忽略此 clipBoardMenu 属性。

customItems ContextMenuItem 对象的数组。Array ContextMenuItem 对象的数组。数组中的每个对象表示您已经定义的上下文菜单项。使用此属性可添加、删除或修改这些自定义菜单项。

要添加新的菜单项,请创建一个 ContextMenuItem 对象,然后将其添加到 customItems 数组(例如使用 Array.push())。有关创建菜单项的详细信息,请参阅 ContextMenuItem 类条目。

flash.display.InteractiveObject.contextMenu
isSupported 如果当前平台支持 ContextMenu 类,则 isSupported 属性设置为 true,否则,设置为 false。Boolean 如果当前平台支持 ContextMenu 类,则 isSupported 属性设置为 true,否则,设置为 falseitems 此菜单中自定义项的数组。Array 此菜单中自定义项的数组。

使用此属性等同于使用 customItems 属性。数组按显示顺序排序。

link 链接的 URLRequest。flash.net:URLRequest 链接的 URLRequest。如果此属性为 null,则显示标准上下文菜单。如果此属性不为 null,则显示链接上下文菜单,并对指定的 URL 执行操作。

如果指定了 link,则将忽略 clipboardMenu 属性。

默认值为 null

numItems 此菜单中的项数。int 此菜单中的项数。
KeyLocation KeyLocation 类包含表示在键盘或类似键盘的输入设备上按键位置的常量。Object KeyLocation 类包含表示在键盘或类似键盘的输入设备上按键位置的常量。

KeyLocation 常数用在 KeyboardEvent.keyLocation 属性中。

flash.events.KeyboardEvent.keyLocationD_PAD 表示在输入设备的方向板上产生的键激活。4uint 表示在输入设备的方向板上产生的键激活。示例:移动设备上的轨迹球或遥控器上的向左箭头。 LEFT 表示激活的键在左侧键位置(此键有多个可能的位置)。1uint 表示激活的键在左侧键位置(此键有多个可能的位置)。示例:PC 101 键美国键盘上的左 Shift。 NUM_PAD 表示激活的键位于数字键盘或者是使用对应于数字键盘的虚拟键激活的。3uint 表示激活的键位于数字键盘或者是使用对应于数字键盘的虚拟键激活的。示例:位于 PC 101 键美国键盘的数字键盘上的 1。 RIGHT 表示激活的键在右侧键位置(此键有多个可能的位置)。2uint 表示激活的键在右侧键位置(此键有多个可能的位置)。示例:PC 101 键美国键盘上的右 Shift。 STANDARD 表示激活的键不区分位于左侧还是右侧,也不区分是否位于数字键盘(或者是使用对应于数字键盘的虚拟键激活的)。0uint 表示激活的键不区分位于左侧还是右侧,也不区分是否位于数字键盘(或者是使用对应于数字键盘的虚拟键激活的)。示例:PC 101 键美国键盘上的 Q 键。
ContextMenuClipboardItems 通过 ContextMenuClipboardItems 类,可以启用或禁用剪贴板上下文菜单中的命令。Object 通过 ContextMenuClipboardItems 类,可以启用或禁用剪贴板上下文菜单中的命令。

使用 ContextMenu 对象的 clipboardItems 属性,启用或禁用上下文菜单的剪贴板命令。clipboardItems 属性是此 ContextMenuClipboardItems 类的实例。当上下文菜单的 clipboardMenu 属性为 true 时,上下文菜单中将显示剪贴板上下文菜单,除非该上下文菜单用于 TextField 对象。TextField 对象自动控制上下文菜单的显示及其剪贴板项目的状态。

ContextMenu.clipboardMenuContextMenuClipboardItems 创建新的 ContextMenuClipboardItems 对象。 创建新的 ContextMenuClipboardItems 对象。 clear 启用或禁用剪贴板菜单上的“删除”或“清除”项。Boolean 启用或禁用剪贴板菜单上的“删除”或“清除”项。仅当选择了可以清除的对象时,才应启用此项。 copy 在剪贴板菜单上启用或禁用“复制”项。Boolean 在剪贴板菜单上启用或禁用“复制”项。仅当选择了可以复制的对象时,才应启用此项。 cut 在剪贴板菜单上启用或禁用“剪切”项。Boolean 在剪贴板菜单上启用或禁用“剪切”项。仅当选择了可以剪切的对象时,才应启用此项。 paste 在剪贴板菜单上启用或禁用“粘贴”项。Boolean 在剪贴板菜单上启用或禁用“粘贴”项。仅当可粘贴的数据位于剪贴板上时,才应启用此项。 selectAll 在剪贴板菜单上启用或禁用“全选”项。Boolean 在剪贴板菜单上启用或禁用“全选”项。仅当可以将选择范围扩大至包括所有类似项目(如在列表或文本编辑控件中)时,才应启用此项。
KeyboardType KeyboardType 类是枚举类,为不同类别的物理计算机或设备键盘提供值。Object KeyboardType 类是枚举类,为不同类别的物理计算机或设备键盘提供值。

将 KeyboardType 类定义的值与 Keybooard.physicalKeyboardType 属性配合使用。

以下示例是一个简单测试,用于指示运行环境中“Num Lock”和“Caps Lock”键的当前状态以及键盘类型和触摸屏类型。测试该示例时,单击文本字段可查看属性值: import flash.events.~~; import flash.display.~~; import flash.ui.Keyboard; import flash.system.Capabilities; import flash.text.TextField; var keyboardInfoTxt:TextField = new TextField(); keyboardInfoTxt.x = 30; keyboardInfoTxt.y = 50; keyboardInfoTxt.width = 300; keyboardInfoTxt.height = 100; keyboardInfoTxt.border = true; addChild(keyboardInfoTxt); addEventListener (MouseEvent.CLICK, getScreenKeyboardType); function getScreenKeyboardType(e:MouseEvent):void{ keyboardInfoTxt.text= "Caps Lock is : " + String(flash.ui.Keyboard.capsLock)+ "\n" + "Num Lock is : " + String(flash.ui.Keyboard.numLock) +"\n" + "Has Virtual Keyboard : " + String(flash.ui.Keyboard.hasVirtualKeyboard) + "\n" + "Physical Keyboard Type : " + flash.ui.Keyboard.physicalKeyboardType + "\n" + "flash.system.Capabilities.touchscreenType is : " + flash.system.Capabilities.touchscreenType; }
Keyboard.physicalKeyboardTypeALPHANUMERIC 具有完整数字和字母集的标准键盘。alphanumericString 具有完整数字和字母集的标准键盘。

大多数桌面计算机和一些移动设备提供字母数字键盘。

KEYPAD 电话样式的 12 按钮键盘。keypadString 电话样式的 12 按钮键盘。

许多移动设备提供了小键盘,尽管一些设备还提供字母数字键盘。

NONE 不支持任何物理键盘。noneString 不支持任何物理键盘。

通常,在没有提供物理键盘的情况下提供虚拟键盘。

flash.ui.Keyboard.hasVirtualKeyboard
Mouse Mouse 类的方法用于隐藏和显示鼠标指针,或将指针设置为特定样式。用于设置、隐藏和显示鼠标光标的顶级类。 Object Mouse 类的方法用于隐藏和显示鼠标指针,或将指针设置为特定样式。Mouse 类是不通过构造函数即可访问其属性和方法的顶级类。默认情况下,指针是可见的,但可以将其隐藏并实现自定义指针。 下例使用 MouseExample、SimpleButton、ButtonDisplayState 和 CustomCursor 类将一个简单的按钮放在舞台上。按钮具有自定义指针,并且在单击按钮时该按钮将会发生变化。这是由以下步骤完成的:
  1. 声明下列实例属性:CustomCursor 类型的 cursor、CustomButton 类型的 child 和 uint 类型的 gutter
  2. child 赋给新的 CustomButton 实例,将其 xy 坐标设置为各 10 像素,然后将该实例添加到显示列表中。CustomButton 类覆盖 SimpleButton 中的 downStateupStateoverStatehitTestState 属性。其中的每一个属性都实例化一个 ButtonDisplayState 对象,这些对象将绘制不同的正方形,具体取决于 child 实例的状态。
  3. child 实例然后用于添加 MOUSE_OVER 事件侦听器和 mouseOverHandler() 侦听器方法以及 MOUSE_OUT 事件侦听器和关联的 mouseOutHandler() 方法。
  4. 事件侦听器的工作方式如下:
    • mouseOverHandler:隐藏“普通”指针并添加 MOUSE_MOVE 侦听器,该侦听器使用下述 mouseMoveHandler() 处理鼠标移动。
    • mouseOutHandler:当鼠标移动到自定义按钮之外时,显示“普通”指针,删除 MOUSE_MOVE 事件侦听器,并将自定义光标的可见性设置为 false
    • mouseMoveHandler:指针移到哪里,自定义光标就跟到哪里,并将自定义光标的可见性设置为 true
  5. 回到 MouseExample 构造函数中,将光标属性赋给新的 CustomCursor 对象,然后使用 addChild() 将该对象添加到显示列表中。每当鼠标停留在 child 之上时,CustomCursor 类会绘制一个几近黑色的小正方形来替代“普通”指针。
  6. 添加 MOUSE_LEAVE 类型的第四个事件侦听器以及关联的 mouseLeaveHandler() 方法。在此方法(如果鼠标离开舞台则调用此方法)中,向 mouseOutHandler() 传递一个新 mouseMove 侦听器对象,该对象彻底删除指针,使其不留在舞台上。
package { import flash.display.Sprite; import flash.display.DisplayObject; import flash.ui.Mouse; import flash.events.*; public class MouseExample extends Sprite { private var cursor:CustomCursor; private var child:CustomButton; private var gutter:uint = 10; public function MouseExample() { child = new CustomButton(); child.x = gutter; child.y = gutter; addChild(child); child.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); child.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); cursor = new CustomCursor(); addChild(cursor); stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler); } private function mouseOverHandler(event:MouseEvent):void { trace("mouseOverHandler"); Mouse.hide(); child.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); } private function mouseOutHandler(event:MouseEvent):void { trace("mouseOutHandler"); Mouse.show(); child.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); cursor.visible = false; } private function mouseMoveHandler(event:MouseEvent):void { trace("mouseMoveHandler"); cursor.x = event.localX; cursor.y = event.localY; event.updateAfterEvent(); cursor.visible = true; } private function mouseLeaveHandler(event:Event):void { trace("mouseLeaveHandler"); mouseOutHandler(new MouseEvent(MouseEvent.MOUSE_MOVE)); } } } import flash.display.Shape; import flash.display.SimpleButton; class CustomButton extends SimpleButton { var upColor:uint = 0xFFCC00; var overColor:uint = 0xCCFF00; var downColor:uint = 0x00CCFF; var size:uint = 80; public function CustomButton() { downState = new ButtonDisplayState(downColor, size+10); overState = new ButtonDisplayState(overColor, size); upState = new ButtonDisplayState(upColor, size); hitTestState = new ButtonDisplayState(upColor, size); } } class ButtonDisplayState extends Shape { var bgColor:uint; var size:uint; public function ButtonDisplayState(bgColor:uint, size:uint) { this.bgColor = bgColor; this.size = size; draw(); } private function draw():void { graphics.clear(); graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } } class CustomCursor extends Shape { var bgColor:uint = 0x333333; var size:uint = 10; public function CustomCursor() { visible = false; draw(); } private function draw():void { graphics.clear(); graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } }
flash.events.MouseEventhide 隐藏指针。 隐藏指针。默认情况下,指针是可见的。

注意:无论以前调用了 Mouse.show() 多少次,Mouse.hide() 只需要调用一次。

flash.display.DisplayObject.mouseXflash.display.DisplayObject.mouseY
registerCursor 使用给定数据在给定名称下注册本机光标。nameString要用作本地光标实例的引用的名称。 cursorflash.ui:MouseCursorData作为 MouseCursorData 实例指定的本机光标的属性,如图标位图。 使用给定数据在给定名称下注册本机光标。 使用给定数据在给定名称下注册本机光标。 flash.ui.MouseCursorDatashow 显示指针。 显示指针。默认情况下,指针是可见的。

注意:无论以前调用了 Mouse.hide() 多少次,Mouse.show() 只需要调用一次。

flash.display.DisplayObject.mouseXflash.display.DisplayObject.mouseY
unregisterCursor 取消注册具有给定名称的本机光标。nameString引用本机光标实例的名称。 取消注册具有给定名称的本机光标。 取消注册具有给定名称的本机光标。 cursor 设置或返回光标类型,或者,对于本机光标,则是光标名称。String如果设置为不属于 flash.ui.MouseCursor 成员的任何值,或者不是使用 Mouse.registerCursor() 方法指定的字符串。 ArgumentErrorArgumentError光标类型,或者,对于本机光标,则是光标名称。 设置或返回光标类型,或者,对于本机光标,则是光标名称。

默认值为 flash.ui.MouseCursor.AUTO

要设置此属性的值,请使用下列字符串值:

字符串值说明flash.ui.MouseCursor.AUTO鼠标光标将根据鼠标下的对象自动更改。flash.ui.MouseCursor.ARROW鼠标光标将是一个箭头。flash.ui.MouseCursor.BUTTON鼠标光标将是一只点击按钮的手。flash.ui.MouseCursor.HAND鼠标光标将是一只正在拖动的手。flash.ui.MouseCursor.IBEAM鼠标光标将呈工字形。

注意:对于 Flash Player 10.2 或 AIR 2.6 及更高版本,当您使用本机光标时,此属性设置或获取光标名称。使用 Mouse.registerCursor() 定义的本机光标名称会覆盖当前预定义的光标类型(如 flash.ui.MouseCursor.IBEAM)。

flash.ui.MouseCursorregisterCursor()flash.ui.MouseCursorData
supportsCursor 表示计算机或设备是否显示永久光标。Boolean 表示计算机或设备是否显示永久光标。

在大多数桌面计算机上 supportsCursor 属性为 true,而在大多数移动设备上为 false

注意:不管该属性是否为 true 都可调用鼠标事件。但是,鼠标事件的行为可能不同,具体取决于指针设备的物理特性。

以下示例是一个简单测试,用于指示当前是否支持永久光标。测试该示例时,单击文本字段可查看属性值: import flash.events.~~; import flash.display.~~; import flash.ui.Mouse; import flash.text.TextField; var supportsCursorTxt:TextField = new TextField(); supportsCursorTxt.width = 200; supportsCursorTxt.border = true; addChild(supportsCursorTxt); addEventListener (MouseEvent.CLICK, getScreenKeyboardType); function getScreenKeyboardType(e:MouseEvent):void{ supportsCursorTxt.text= "Supports Cursor is : " + String(flash.ui.Mouse.supportsCursor); } 下面的示例对不同的用户输入环境进行测试并做出响应。此示例假设它是与使用光标的游戏对应的代码的一部分。首先,此示例测试该环境是否支持使用光标。如果不支持,则测试该环境是否支持与笔针交互。如果支持,则插入代码来自定义游戏以使用笔针。如果此环境支持手指交互,则插入代码来自定义程序以满足特定的手指触摸需求。如果没有任何受支持的指针设备,则开发人员需要创建替代光标或某种交互方式,例如,按键。 if(Mouse.supportsCursor) { //Game acts as before } else { if(Capabilities.touchscreenType == TouchscreenType.STYLUS ){ //The Game has to change so that the character is chasing the location of the stylus as //it's dragged around. Some of the animations will have to change }else if(Capabilities.touchscreenType = TouchscreenType.FINGER){ //Same as above, except that the hit-area is larger for a finger. }else{ //There's no pointing device at all. The developer designs some sort of custom cursor to //be controlled with key presses or similar input } }
flash.system.Capabilities.touchscreenType
supportsNativeCursor 表示当前配置是否支持本机光标。Boolean表示当前配置是否支持本机光标。 表示当前配置是否支持本机光标。
Keyboard Keyboard 类用于构建用户可使用标准键盘控制的界面。Object Keyboard 类用于构建用户可使用标准键盘控制的界面。不必使用构造函数即可使用 Keyboard 类的方法和属性。Keyboard 类的属性是一些常数,这些常数表示控制游戏时最常用的键。 isAccessible 指定其它 SWF 文件能否访问最后按下的键。true(如果可以访问按下的最后一个键)。如果不允许访问,则此方法返回 falseBoolean 指定其它 SWF 文件能否访问最后按下的键。默认情况下,安全限制会阻止某一个域中的 SWF 文件的代码访问从另一个域中的 SWF 文件生成的键击。 ALTERNATE 与 Alternate (Option) 键的键控代码值 (18) 关联的常数。18uint 与 Alternate (Option) 键的键控代码值 (18) 关联的常数。 AUDIO 选择音频模式 0x01000017uint 选择音频模式 A 与 A 键的键控代码值 (65) 关联的常数。65uint 与 A 键的键控代码值 (65) 关联的常数。 BACKQUOTE 与 ` 键的键控代码值 (192) 关联的常数。192uint 与 ` 键的键控代码值 (192) 关联的常数。 BACKSLASH 与 \ 键的键控代码值 (220) 关联的常数。220uint 与 \ 键的键控代码值 (220) 关联的常数。 BACKSPACE 与 Backspace 的键控代码值 (8) 关联的常数。8uint 与 Backspace 的键控代码值 (8) 关联的常数。 BACK 返回应用程序中的上一个页面 0x01000016uint 返回应用程序中的上一个页面 BLUE 蓝色功能键按钮 0x01000003uint 蓝色功能键按钮 B 与 B 键的键控代码值 (66) 关联的常数。66uint 与 B 键的键控代码值 (66) 关联的常数。 CAPS_LOCK 与 Caps Lock 的键控代码值 (20) 关联的常数。20uint 与 Caps Lock 的键控代码值 (20) 关联的常数。 CHANNEL_DOWN 通道下移键 0x01000005uint 通道下移键 CHANNEL_UP 通道上移键 0x01000004uint 通道上移键 COMMAND 与 Mac 命令键 (15) 关联的常数。15uint 与 Mac 命令键 (15) 关联的常数。此常数当前仅用于设置菜单等效键。 COMMA 与 F15 的键控代码值 (188) 关联的常数。188uint 与 F15 的键控代码值 (188) 关联的常数。 CONTROL 与 Ctrl 的键控代码值 (17) 关联的常数。17uint 与 Ctrl 的键控代码值 (17) 关联的常数。 CharCodeStrings 包含所有定义的键名称常量的数组。unknownArray 包含所有定义的键名称常量的数组。 C 与 C 键的键控代码值 (67) 关联的常数。67uint 与 C 键的键控代码值 (67) 关联的常数。 DELETE 与 Delete 的键控代码值 (46) 关联的常数。46uint 与 Delete 的键控代码值 (46) 关联的常数。 DOWN 与向下箭头键的键控代码值 (40) 关联的常数。40uint 与向下箭头键的键控代码值 (40) 关联的常数。 DVR 使用 DVR 应用程序模式 0x01000019uint 使用 DVR 应用程序模式 D 与 D 键的键控代码值 (68) 关联的常数。68uint 与 D 键的键控代码值 (68) 关联的常数。 END 与 End 的键控代码值 (35) 关联的常数。35uint 与 End 的键控代码值 (35) 关联的常数。 ENTER 与 Enter 的键控代码值 (13) 关联的常数。13uint 与 Enter 的键控代码值 (13) 关联的常数。 EQUAL 与 = 键的键控代码值 (187) 关联的常数。187uint 与 = 键的键控代码值 (187) 关联的常数。 ESCAPE 与 Esc 的键控代码值 (27) 关联的常数。27uint 与 Esc 的键控代码值 (27) 关联的常数。 EXIT 退出当前应用程序模式 0x01000015uint 退出当前应用程序模式 E 与 E 键的键控代码值 (69) 关联的常数。69uint 与 E 键的键控代码值 (69) 关联的常数。 F10 与 F10 的键控代码值 (121) 关联的常数。121uint 与 F10 的键控代码值 (121) 关联的常数。 F11 与 F11 的键控代码值 (122) 关联的常数。122uint 与 F11 的键控代码值 (122) 关联的常数。 F12 与 F12 的键控代码值 (123) 关联的常数。123uint 与 F12 的键控代码值 (123) 关联的常数。 F13 与 F13 的键控代码值 (124) 关联的常数。124uint 与 F13 的键控代码值 (124) 关联的常数。 F14 与 F14 的键控代码值 (125) 关联的常数。125uint 与 F14 的键控代码值 (125) 关联的常数。 F15 与 F15 的键控代码值 (126) 关联的常数。126uint 与 F15 的键控代码值 (126) 关联的常数。 F1 与 F1 的键控代码值 (112) 关联的常数。112uint 与 F1 的键控代码值 (112) 关联的常数。 F2 与 F2 的键控代码值 (113) 关联的常数。113uint 与 F2 的键控代码值 (113) 关联的常数。 F3 与 F3 的键控代码值 (114) 关联的常数。114uint 与 F3 的键控代码值 (114) 关联的常数。 F4 与 F4 的键控代码值 (115) 关联的常数。115uint 与 F4 的键控代码值 (115) 关联的常数。 F5 与 F5 的键控代码值 (116) 关联的常数。116uint 与 F5 的键控代码值 (116) 关联的常数。 F6 与 F6 的键控代码值 (117) 关联的常数。117uint 与 F6 的键控代码值 (117) 关联的常数。 F7 与 F7 的键控代码值 (118) 关联的常数。118uint 与 F7 的键控代码值 (118) 关联的常数。 F8 与 F8 的键控代码值 (119) 关联的常数。119uint 与 F8 的键控代码值 (119) 关联的常数。 F9 与 F9 的键控代码值 (120) 关联的常数。120uint 与 F9 的键控代码值 (120) 关联的常数。 FAST_FORWARD 使用快进传输模式 0x0100000Auint 使用快进传输模式 F 与 F 的键控代码值 (70) 关联的常数。70uint 与 F 的键控代码值 (70) 关联的常数。 GREEN 绿色功能键按钮 0x01000001uint 绿色功能键按钮 GUIDE 使用程序指南 0x01000014uint 使用程序指南 G 与 G 键的键控代码值 (71) 关联的常数。71uint 与 G 键的键控代码值 (71) 关联的常数。 HELP 使用帮助应用程序或上下文相关帮助 0x0100001Duint 使用帮助应用程序或上下文相关帮助 HOME 与 Home 的键控代码值 (36) 关联的常数。36uint 与 Home 的键控代码值 (36) 关联的常数。 H 与 H 键的键控代码值 (72) 关联的常数。72uint 与 H 键的键控代码值 (72) 关联的常数。 INFO 信息按钮 0x01000013uint 信息按钮 INPUT 循环输入 0x0100001Buint 循环输入 INSERT 与 Insert 的键控代码值 (45) 关联的常数。45uint 与 Insert 的键控代码值 (45) 关联的常数。 I 与 I 键的键控代码值 (73) 关联的常数。73uint 与 I 键的键控代码值 (73) 关联的常数。 J 与 J 键的键控代码值 (74) 关联的常数。74uint 与 J 键的键控代码值 (74) 关联的常数。 KEYNAME_BEGIN 开始键 BeginString 开始键 KEYNAME_BREAK 中断键 BreakString 中断键 KEYNAME_CLEARDISPLAY 清除显示键 ClrDspString 清除显示键 KEYNAME_CLEARLINE 清除行键 ClrLnString 清除行键 KEYNAME_DELETECHAR 删除字符键 DelChrString 删除字符键 KEYNAME_DELETELINE 删除行键 DelLnString 删除行键 KEYNAME_DELETE 删除键 DeleteString 删除键 KEYNAME_DOWNARROW 向下箭头键 DownString 向下箭头键 KEYNAME_END 结束键 EndString 结束键 KEYNAME_EXECUTE 执行键 ExecString 执行键 KEYNAME_F10 F10 键 F10String F10 键 KEYNAME_F11 F11 键 F11String F11 键 KEYNAME_F12 F12 键 F12String F12 键 KEYNAME_F13 F13 键 F13String F13 键 KEYNAME_F14 F14 键 F14String F14 键 KEYNAME_F15 F15 键 F15String F15 键 KEYNAME_F16 F16 键 F16String F16 键 KEYNAME_F17 F17 键 F17String F17 键 KEYNAME_F18 F18 键 F18String F18 键 KEYNAME_F19 F19 键 F19String F19 键 KEYNAME_F1 F1 键 F1String F1 键 KEYNAME_F20 F20 键 F20String F20 键 KEYNAME_F21 F21 键 F21String F21 键 KEYNAME_F22 F22 键 F22String F22 键 KEYNAME_F23 F23 键 F23String F23 键 KEYNAME_F24 F24 键 F24String F24 键 KEYNAME_F25 F25 键 F25String F25 键 KEYNAME_F26 F26 键 F26String F26 键 KEYNAME_F27 F27 键 F27String F27 键 KEYNAME_F28 F28 键 F28String F28 键 KEYNAME_F29 F29 键 F29String F29 键 KEYNAME_F2 F2 键 F2String F2 键 KEYNAME_F30 F30 键 F30StringF30 键 F30 键 KEYNAME_F31 F31 键 F31String F31 键 KEYNAME_F32 F32 键 F32String F32 键 KEYNAME_F33 F33 键 F33String F33 键 KEYNAME_F34 F34 键 F34String F34 键 KEYNAME_F35 F35 键 F35String F35 键 KEYNAME_F3 F3 键 F3String F3 键 KEYNAME_F4 F4 键 F4String F4 键 KEYNAME_F5 F5 键 F5String F5 键 KEYNAME_F6 F6 键 F6String F6 键 KEYNAME_F7 F7 键 F7String F7 键 KEYNAME_F8 F8 键 F8String F8 键 KEYNAME_F9 F9 键 F9String F9 键 KEYNAME_FIND 查找键 FindString 查找键 KEYNAME_HELP 帮助键 HelpString 帮助键 KEYNAME_HOME 起始键 HomeString 起始键 KEYNAME_INSERTCHAR 插入字符键 InsChrString 插入字符键 KEYNAME_INSERTLINE 插入行键 InsLnString 插入行键 KEYNAME_INSERT 插入键 InsertString 插入键 KEYNAME_LEFTARROW 向左箭头键 LeftString 向左箭头键 KEYNAME_MENU 菜单键 MenuString 菜单键 KEYNAME_MODESWITCH 模式切换键 ModeSwString 模式切换键 KEYNAME_NEXT 下一个键 NextString 下一个键 KEYNAME_PAGEDOWN 下一页键 PgDnString 下一页键 KEYNAME_PAGEUP 上一页键 PgUpString 上一页键 KEYNAME_PAUSE 暂停键 PauseString 暂停键 KEYNAME_PREV 上一个键 PrevString 上一个键 KEYNAME_PRINTSCREEN 打印屏幕 PrntScrnString 打印屏幕 KEYNAME_PRINT 打印键 PrintString 打印键 KEYNAME_REDO 重做键 RedoString 重做键 KEYNAME_RESET 重置键 ResetString 重置键 KEYNAME_RIGHTARROW 向右箭头键 RightString 向右箭头键 KEYNAME_SCROLLLOCK 滚动锁定键 ScrlLckString 滚动锁定键 KEYNAME_SELECT 选择键 SelectString 选择键 KEYNAME_STOP 停止键 StopString 停止键 KEYNAME_SYSREQ 系统请求键 SysReqString 系统请求键 KEYNAME_SYSTEM 系统键 SysString 系统键 KEYNAME_UNDO 撤消键 UndoString 撤消键 KEYNAME_UPARROW 向上箭头键 UpString 向上箭头键 KEYNAME_USER 用户键 UserString 用户键 K 与 K 键的键控代码值 (75) 关联的常数。75uint 与 K 键的键控代码值 (75) 关联的常数。 LAST 注意最后一个通道或显示注意的通道 0x01000011uint 注意最后一个通道或显示注意的通道 LEFTBRACKET 与 [ 键的键控代码值 (219) 关联的常数。219uint 与 [ 键的键控代码值 (219) 关联的常数。 LEFT 与向左箭头键的键控代码值 (37) 关联的常数。37uint 与向左箭头键的键控代码值 (37) 关联的常数。 LIVE 返回到实时[广播中的位置] 0x01000010uint 返回到实时[广播中的位置] L 与 L 键的键控代码值 (76) 关联的常数。76uint 与 L 键的键控代码值 (76) 关联的常数。 MASTER_SHELL 使用“主 Shell”,例如 TiVo 或其他供应商按钮。0x0100001Euint 使用“主 Shell”,例如 TiVo 或其他供应商按钮。 MENU 使用菜单 0x01000012uint 使用菜单 MINUS 与 - 键的键控代码值 (189) 关联的常数。189uint 与 - 键的键控代码值 (189) 关联的常数。 M 与 M 键的键控代码值 (77) 关联的常数。77uint 与 M 键的键控代码值 (77) 关联的常数。 NEXT 跳到下一曲目或章节 0x0100000Euint 跳到下一曲目或章节 NUMBER_0 与 0 的键控代码值 (48) 关联的常数。48uint 与 0 的键控代码值 (48) 关联的常数。 NUMBER_1 与 1 的键控代码值 (49) 关联的常数。49uint 与 1 的键控代码值 (49) 关联的常数。 NUMBER_2 与 2 的键控代码值 (50) 关联的常数。50uint 与 2 的键控代码值 (50) 关联的常数。 NUMBER_3 与 3 的键控代码值 (51) 关联的常数。51uint 与 3 的键控代码值 (51) 关联的常数。 NUMBER_4 与 4 的键控代码值 (52) 关联的常数。52uint 与 4 的键控代码值 (52) 关联的常数。 NUMBER_5 与 5 的键控代码值 (53) 关联的常数。53uint 与 5 的键控代码值 (53) 关联的常数。 NUMBER_6 与 6 的键控代码值 (54) 关联的常数。54uint 与 6 的键控代码值 (54) 关联的常数。 NUMBER_7 与 7 的键控代码值 (55) 关联的常数。55uint 与 7 的键控代码值 (55) 关联的常数。 NUMBER_8 与 8 的键控代码值 (56) 关联的常数。56uint 与 8 的键控代码值 (56) 关联的常数。 NUMBER_9 与 9 的键控代码值 (57) 关联的常数。57uint 与 9 的键控代码值 (57) 关联的常数。 NUMPAD_0 与数字键盘上的数字 0 的键控代码值 (96) 关联的常数。96uint 与数字键盘上的数字 0 的键控代码值 (96) 关联的常数。 NUMPAD_1 与数字键盘上的数字 1 的键控代码值 (97) 关联的常数。97uint 与数字键盘上的数字 1 的键控代码值 (97) 关联的常数。 NUMPAD_2 与数字键盘上的数字 2 的键控代码值 (98) 关联的常数。98uint 与数字键盘上的数字 2 的键控代码值 (98) 关联的常数。 NUMPAD_3 与数字键盘上的数字 3 的键控代码值 (99) 关联的常数。99uint 与数字键盘上的数字 3 的键控代码值 (99) 关联的常数。 NUMPAD_4 与数字键盘上的数字 4 的键控代码值 (100) 关联的常数。100uint 与数字键盘上的数字 4 的键控代码值 (100) 关联的常数。 NUMPAD_5 与数字键盘上的数字 5 的键控代码值 (101) 关联的常数。101uint 与数字键盘上的数字 5 的键控代码值 (101) 关联的常数。 NUMPAD_6 与数字键盘上的数字 6 的键控代码值 (102) 关联的常数。102uint 与数字键盘上的数字 6 的键控代码值 (102) 关联的常数。 NUMPAD_7 与数字键盘上的数字 7 的键控代码值 (103) 关联的常数。103uint 与数字键盘上的数字 7 的键控代码值 (103) 关联的常数。 NUMPAD_8 与数字键盘上的数字 8 的键控代码值 (104) 关联的常数。104uint 与数字键盘上的数字 8 的键控代码值 (104) 关联的常数。 NUMPAD_9 与数字键盘上的数字 9 的键控代码值 (105) 关联的常数。105uint 与数字键盘上的数字 9 的键控代码值 (105) 关联的常数。 NUMPAD_ADD 与数字键盘上的加号 (+) 的键控代码值 (107) 关联的常数。107uint 与数字键盘上的加号 (+) 的键控代码值 (107) 关联的常数。 NUMPAD_DECIMAL 与数字键盘上的小数点 (.) 的键控代码值 (110) 关联的常数。110uint 与数字键盘上的小数点 (.) 的键控代码值 (110) 关联的常数。 NUMPAD_DIVIDE 与数字键盘上的除号 (/) 的键控代码值 (111) 关联的常数。111uint 与数字键盘上的除号 (/) 的键控代码值 (111) 关联的常数。 NUMPAD_ENTER 与数字键盘上的 Enter 的键控代码值 (108) 关联的常数。108uint 与数字键盘上的 Enter 的键控代码值 (108) 关联的常数。 NUMPAD_MULTIPLY 与数字键盘上的乘号 (*) 的键控代码值 (106) 关联的常数。106uint 与数字键盘上的乘号 (*) 的键控代码值 (106) 关联的常数。 NUMPAD_SUBTRACT 与数字键盘上的减号 (-) 的键控代码值 (109) 关联的常数。109uint 与数字键盘上的减号 (-) 的键控代码值 (109) 关联的常数。 NUMPAD 与数字键盘的伪键控代码 (21) 关联的常数。21uint 与数字键盘的伪键控代码 (21) 关联的常数。用于在等效键上设置数字键盘功能键 N 与 N 键的键控代码值 (78) 关联的常数。78uint 与 N 键的键控代码值 (78) 关联的常数。 O 与 O 键的键控代码值 (79) 关联的常数。79uint 与 O 键的键控代码值 (79) 关联的常数。 PAGE_DOWN 与 Page Down 的键控代码值 (34) 关联的常数。34uint 与 Page Down 的键控代码值 (34) 关联的常数。 PAGE_UP 与 Page Up 的键控代码值 (33) 关联的常数。33uint 与 Page Up 的键控代码值 (33) 关联的常数。 PAUSE 使用暂停传输模式 0x01000008uint 使用暂停传输模式 PERIOD 与 . 键的键控代码 (190) 关联的常数。190uint 与 . 键的键控代码值 (190) 关联的常数。键的键控代码值 (190) 关联的常数。 PLAY 使用播放传输模式 0x01000007uint 使用播放传输模式 PREVIOUS 跳到上一曲目或章节 0x0100000Fuint 跳到上一曲目或章节 P 与 P 键的键控代码值 (80) 关联的常数。80uint 与 P 键的键控代码值 (80) 关联的常数。 QUOTE 与 ' 键的键控代码值 (222) 关联的常数。222uint 与 ' 键的键控代码值 (222) 关联的常数。 Q 与 Q 键的键控代码值 (81) 关联的常数。81uint 与 Q 键的键控代码值 (81) 关联的常数。 RECORD 录制项目或使用录制传输模式 0x01000006uint 录制项目或使用录制传输模式 RED 红色功能键按钮 0x01000000uint 红色功能键按钮 REWIND 使用后退传输模式 0x0100000Buint 使用后退传输模式 RIGHTBRACKET 与 ] 键的键控代码值 (221) 关联的常数。221uint 与 ] 键的键控代码值 (221) 关联的常数。 RIGHT 与向右箭头键的键控代码值 (39) 关联的常数。39uint 与向右箭头键的键控代码值 (39) 关联的常数。 R 与 R 键的键控代码值 (82) 关联的常数。82uint 与 R 键的键控代码值 (82) 关联的常数。 SEARCH 搜索按钮 0x0100001Fuint 搜索按钮 SEMICOLON 与 ; 键的键控代码值 (186) 关联的常数。186uint 与 ; 键的键控代码值 (186) 关联的常数。 SETUP 使用安装应用程序或菜单 0x0100001Cuint 使用安装应用程序或菜单 SHIFT 与 Shift 的键控代码值 (16) 关联的常数。16uint 与 Shift 的键控代码值 (16) 关联的常数。 SKIP_BACKWARD 快速后跳(通常 7-10 秒) 0x0100000Duint 快速后跳(通常 7-10 秒) SKIP_FORWARD 快速前跳(通常 30 秒) 0x0100000Cuint 快速前跳(通常 30 秒) SLASH 与 / 键的键控代码值 (191) 关联的常数。191uint 与 / 键的键控代码值 (191) 关联的常数。 SPACE 与空格键的键控代码值 (32) 关联的常数。32uint 与空格键的键控代码值 (32) 关联的常数。 STOP 使用停止传输模式 0x01000009uint 使用停止传输模式 STRING_BEGIN OS X Unicode 开始常量 String OS X Unicode 开始常量 STRING_BREAK OS X Unicode 中断常量 String OS X Unicode 中断常量 STRING_CLEARDISPLAY OS X Unicode 清除显示常量 String OS X Unicode 清除显示常量 STRING_CLEARLINE OS X Unicode 清除行常量 String OS X Unicode 清除行常量 STRING_DELETECHAR OS X Unicode 删除字符常量 String OS X Unicode 删除字符常量 STRING_DELETELINE OS X Unicode 删除行常量 String OS X Unicode 删除行常量 STRING_DELETE OS X Unicode 删除常量 String OS X Unicode 删除常量 STRING_DOWNARROW OS X Unicode 向下箭头键常量 String OS X Unicode 向下箭头键常量 STRING_END OS X Unicode 结束常量 String OS X Unicode 结束常量 STRING_EXECUTE OS X Unicode 执行常量 String OS X Unicode 执行常量 STRING_F10 OS X Unicode F10 常量 String OS X Unicode F10 常量 STRING_F11 OS X Unicode F11 常量 String OS X Unicode F11 常量 STRING_F12 OS X Unicode F12 常量 String OS X Unicode F12 常量 STRING_F13 OS X Unicode F13 常量 String OS X Unicode F13 常量 STRING_F14 OS X Unicode F14 常量 String OS X Unicode F14 常量 STRING_F15 OS X Unicode F15 常量 String OS X Unicode F15 常量 STRING_F16 OS X Unicode F16 常量 String OS X Unicode F16 常量 STRING_F17 OS X Unicode F17 常量 String OS X Unicode F17 常量 STRING_F18 OS X Unicode F18 常量 String OS X Unicode F18 常量 STRING_F19 OS X Unicode F19 常量 String OS X Unicode F19 常量 STRING_F1 OS X Unicode F1 常量 String OS X Unicode F1 常量 STRING_F20 OS X Unicode F20 常量 String OS X Unicode F20 常量 STRING_F21 OS X Unicode F21 常量 String OS X Unicode F21 常量 STRING_F22 OS X Unicode F22 常量 String OS X Unicode F22 常量 STRING_F23 OS X Unicode F23 常量 String OS X Unicode F23 常量 STRING_F24 OS X Unicode F24 常量 String OS X Unicode F24 常量 STRING_F25 OS X Unicode F25 常量 String OS X Unicode F25 常量 STRING_F26 OS X Unicode F26 常量 String OS X Unicode F26 常量 STRING_F27 OS X Unicode F27 常量 String OS X Unicode F27 常量 STRING_F28 OS X Unicode F28 常量 String OS X Unicode F28 常量 STRING_F29 OS X Unicode F29 常量 String OS X Unicode F29 常量 STRING_F2 OS X Unicode F2 常量 String OS X Unicode F2 常量 STRING_F30 OS X Unicode F30 常量 String OS X Unicode F30 常量 STRING_F31 OS X Unicode F31 常量 String OS X Unicode F31 常量 STRING_F32 OS X Unicode F32 常量 String OS X Unicode F32 常量 STRING_F33 OS X Unicode F33 常量 String OS X Unicode F33 常量 STRING_F34 OS X Unicode F34 常量 String OS X Unicode F34 常量 STRING_F35 OS X Unicode F35 常量 String OS X Unicode F35 常量 STRING_F3 OS X Unicode F3 常量 String OS X Unicode F3 常量 STRING_F4 OS X Unicode F4 常量 String OS X Unicode F4 常量 STRING_F5 OS X Unicode F5 常量 String OS X Unicode F5 常量 STRING_F6 OS X Unicode F6 常量 String OS X Unicode F6 常量 STRING_F7 OS X Unicode F7 常量 String OS X Unicode F7 常量 STRING_F8 OS X Unicode F8 常量 String OS X Unicode F8 常量 STRING_F9 OS X Unicode F9 常量 String OS X Unicode F9 常量 STRING_FIND OS X Unicode 查找常量 String OS X Unicode 查找常量 STRING_HELP OS X Unicode 帮助常量 String OS X Unicode 帮助常量 STRING_HOME OS X Unicode 起始常量 String OS X Unicode 起始常量 STRING_INSERTCHAR OS X Unicode 插入字符常量 String OS X Unicode 插入字符常量 STRING_INSERTLINE OS X Unicode 插入行常量 String OS X Unicode 插入行常量 STRING_INSERT OS X Unicode 插入常量 String OS X Unicode 插入常量 STRING_LEFTARROW OS X Unicode 向左箭头键常量 String OS X Unicode 向左箭头键常量 STRING_MENU OS X Unicode 菜单常量 String OS X Unicode 菜单常量 STRING_MODESWITCH OS X Unicode 模式切换常量 String OS X Unicode 模式切换常量 STRING_NEXT OS X Unicode 下一个常量 String OS X Unicode 下一个常量 STRING_PAGEDOWN OS X Unicode 下一页常量 String OS X Unicode 下一页常量 STRING_PAGEUP OS X Unicode 上一页常量 String OS X Unicode 上一页常量 STRING_PAUSE OS X Unicode 暂停常量 String OS X Unicode 暂停常量 STRING_PREV OS X Unicode 上一个常量 String OS X Unicode 上一个常量 STRING_PRINTSCREEN OS X Unicode 打印屏幕常量 String OS X Unicode 打印屏幕常量 STRING_PRINT OS X Unicode 打印常量 String OS X Unicode 打印常量 STRING_REDO OS X Unicode 重做常量 String OS X Unicode 重做常量 STRING_RESET OS X Unicode 重置常量 String OS X Unicode 重置常量 STRING_RIGHTARROW OS X Unicode 向右箭头键常量 String OS X Unicode 向右箭头键常量 STRING_SCROLLLOCK OS X Unicode 滚动锁定常量 String OS X Unicode 滚动锁定常量 STRING_SELECT OS X Unicode 选择常量 String OS X Unicode 选择常量 STRING_STOP OS X Unicode 停止常量 String OS X Unicode 停止常量 STRING_SYSREQ OS X Unicode 系统请求常量 String OS X Unicode 系统请求常量 STRING_SYSTEM OS X Unicode 系统常量 String OS X Unicode 系统常量 STRING_UNDO OS X Unicode 撤消常量 String OS X Unicode 撤消常量 STRING_UPARROW OS X Unicode 向上箭头键常量 String OS X Unicode 向上箭头键常量 STRING_USER OS X Unicode 用户常量 String OS X Unicode 用户常量 SUBTITLE 切换副标题 0x01000018uint 切换副标题 S 与 S 键的键控代码值 (83) 关联的常数。83uint 与 S 键的键控代码值 (83) 关联的常数。 TAB 与 Tab 的键控代码值 (9) 关联的常数。9uint 与 Tab 的键控代码值 (9) 关联的常数。 T 与 T 键的键控代码值 (84) 关联的常数。84uint 与 T 键的键控代码值 (84) 关联的常数。 UP 与向上箭头键的键控代码值 (38) 关联的常数。38uint 与向上箭头键的键控代码值 (38) 关联的常数。 U 与 U 键的键控代码值 (85) 关联的常数。85uint 与 U 键的键控代码值 (85) 关联的常数。 VOD 使用视频点播 0x0100001Auint 使用视频点播 V 与 V 键的键控代码值 (86) 关联的常数。86uint 与 V 键的键控代码值 (86) 关联的常数。 W 与 W 键的键控代码值 (87) 关联的常数。87uint 与 W 键的键控代码值 (87) 关联的常数。 X 与 X 键的键控代码值 (88) 关联的常数。88uint 与 X 键的键控代码值 (88) 关联的常数。 YELLOW 黄色功能键按钮 0x01000002uint 黄色功能键按钮 Y 与 Y 键的键控代码值 (89) 关联的常数。89uint 与 Y 键的键控代码值 (89) 关联的常数。 Z 与 Z 键的键控代码值 (90) 关联的常数。90uint 与 Z 键的键控代码值 (90) 关联的常数。 capsLock 指定激活 (true) 或不激活 (false) Caps Lock。Boolean 指定激活 (true) 或不激活 (false) Caps Lock。 hasVirtualKeyboard 表示计算机或设备是否提供虚拟键盘。Boolean 表示计算机或设备是否提供虚拟键盘。如果当前环境提供虚拟键盘,则此值为 true 以下示例是一个简单测试,用于指示运行环境中“Num Lock”和“Caps Lock”键的当前状态以及键盘类型和触摸屏类型。测试该示例时,单击文本字段可查看属性值: import flash.events.~~; import flash.display.~~; import flash.ui.Keyboard; import flash.system.Capabilities; import flash.text.TextField; var keyboardInfoTxt:TextField = new TextField(); keyboardInfoTxt.x = 30; keyboardInfoTxt.y = 50; keyboardInfoTxt.width = 300; keyboardInfoTxt.height = 100; keyboardInfoTxt.border = true; addChild(keyboardInfoTxt); addEventListener (MouseEvent.CLICK, getScreenKeyboardType); function getScreenKeyboardType(e:MouseEvent):void{ keyboardInfoTxt.text= "Caps Lock is : " + String(flash.ui.Keyboard.capsLock)+ "\n" + "Num Lock is : " + String(flash.ui.Keyboard.numLock) +"\n" + "Has Virtual Keyboard : " + String(flash.ui.Keyboard.hasVirtualKeyboard) + "\n" + "Physical Keyboard Type : " + flash.ui.Keyboard.physicalKeyboardType + "\n" + "flash.system.Capabilities.touchscreenType is : " + flash.system.Capabilities.touchscreenType; } numLock 指定激活 (true) 或不激活 (false) Num Lock。Boolean 指定激活 (true) 或不激活 (false) Num Lock。 physicalKeyboardType 表示计算机或设备提供的物理类型键盘,如果有。String 表示计算机或设备提供的物理类型键盘,如果有。

使用在 KeyboardType 类中定义的常量测试此属性报告的值。

注意:如果计算机或设备提供了字母数字键盘和 12 个按钮键盘,此属性只报告提供了字母数字键盘。

KeyboardType类
Multitouch Multitouch 类管理并提供有关当前环境支持用于处理来自用户输入设备的接触的信息,包括有两个或多个触点(例如,用户在触摸屏上使用的手指)的接触。管理并表示支持触控交互 Object Multitouch 类管理并提供有关当前环境支持用于处理来自用户输入设备的接触的信息,包括有两个或多个触点(例如,用户在触摸屏上使用的手指)的接触。当用户与带有触摸屏的移动电话或绘图板等设备交互时,用户通常使用手指或指针设备接触屏幕。有很多种指针设备,如鼠标或笔针,其中很多种设备在某个应用程序中仅具有一个触控点。对于具有一个触控点的指针设备,用户交互事件可处理为鼠标事件,或者使用基本 touch 事件集(称为“接触点”事件)。但是,对于具有多个触控点以及执行复杂运动的指针设备,如人手,Flash 运行时支持其他事件处理 API 集(称为 gesture 事件)。使用这些 gesture 事件处理用户交互的 API 包括下列类:

  • flash.events.TouchEvent
  • flash.events.GestureEvent
  • flash.events.GesturePhase
  • flash.events.TransformGestureEvent
  • flash.events.PressAndTapGestureEvent

使用列出的类编写处理 touch 事件的代码。使用 Multitouch 类确定当前环境的触摸交互支持,如果当前环境支持触摸交互,则对其进行管理。

您无法从 ActionScript 代码直接创建 Multitouch 对象。当您调用新 Multitouch() 时,将引发异常。

注意:在 Mac OS 上运行的 HTML 中嵌入的 SWF 文件不支持多点触控功能。

以下示例首先查看是否支持 gesture 事件(如果计算机不支持 gesture 事件,矢量数组 Multitouch.supportedGestures 返回 null 并且为字符串矢量分配 null 时将导致运行时错误)。如果支持 gesture 事件,此示例显示来自当前环境中支持的 TransformGestureEvent 类的事件: package { import flash.ui.Multitouch; import flash.ui.MultitouchInputMode; import flash.display.Sprite; import flash.text.TextField; public class MultitouchExample extends Sprite { Multitouch.inputMode = MultitouchInputMode.GESTURE; public function MultitouchExample() { if(Multitouch.supportsGestureEvents){ var supportedGesturesVar:Vector.<String> = Multitouch.supportedGestures; var deviceSupports:TextField = new TextField(); deviceSupports.width = 200; deviceSupports.height = 200; deviceSupports.wordWrap = true; for (var i:int=0; i<supportedGesturesVar.length; ++i) { deviceSupports.appendText(supportedGesturesVar[i] + ", "); addChild(deviceSupports); } } } } }
flash.events.TouchEventflash.events.GestureEventflash.events.TransformGestureEventflash.events.GesturePhaseflash.events.PressAndTapGestureEventflash.events.MouseEventflash.events.EventDispatcher.addEventListener()Michael Chaize:Tetris、触摸 API 和 AndroidChristian Cantrell:Flash Platform 上的多点触控和手势支持Lee Brimelow:Flash Player 10.1 多点触控常见问题Piotr Walczyszyn:Flex 中的多点触控开发inputMode 标识用于触摸和手势事件处理的多点触控模式。Stringgesture 标识用于触摸和手势事件处理的多点触控模式。使用此属性管理是否将事件调度为具有多个触控点或单一触控点(如点击)或没有触控点(触控处理为鼠标事件)的 touch 事件和针对不同手势(如旋转和平移)的特定事件。要设置此属性,请使用 flash.ui.MultitouchInputMode 类中的值。 以下示例在启用触摸的屏幕上点击在 mySprite 上绘制的正方形时显示一条信息: Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT; var mySprite:Sprite = new Sprite(); var myTextField:TextField = new TextField(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawRect(0,0,40,40); addChild(mySprite); mySprite.addEventListener(TouchEvent.TOUCH_TAP, taphandler); function taphandler(e:TouchEvent): void { myTextField.text = "I've been tapped"; myTextField.y = 50; addChild(myTextField); } flash.ui.MultitouchInputModemaxTouchPoints 当前环境支持最大并发触摸点数。int适用于多点触控交互的并发接触点最大数 当前环境支持最大并发触摸点数。 flash.events.TouchEventflash.events.MouseEventflash.events.EventDispatcher.addEventListener()flash.events.GestureEventflash.events.TransformGestureEventsupportedGestures 当前环境中支持的多点触控触摸类型向量数组(类型化的字符串值数组)。表示当前支持多点触控交互 当前环境中支持的多点触控触摸类型向量数组(类型化的字符串值数组)。该字符串数组可用作注册事件侦听器的事件类型。可能的值是 GestureEvent、PressAndTapGestureEvent 和 TransformGestureEvent 类中的常量(如 GESTURE_PAN)。

如果 Flash 运行时所处环境不支持任何多点触控手势,该值为 null

注意:对于 Mac OS 10.5.3 和更高版本,Multitouch.supportedGestures 返回非空值(可能错误地表示支持 gesture 事件),即使当前硬件不支持手势输入。

使用此属性测试是否支持多触点手势。然后,为可用多触点手势使用事件处理程序。对于当前环境中不支持的手势,您将需要创建替代事件处理。

下面的示例为当前环境中每个受支持的手势添加适当的事件侦听器。Multitouch.supportedGestures 矢量数组内容更改为包含 Flash 运行时的当前软件和硬件环境中可用的所有手势。如果 Multitouch.supportedGestures 矢量数组不包含某个 TransformGe tureEvent 手势,将不会为该手势添加事件侦听器。此示例由 Holly Schinsky 提供。 Multitouch.inputMode = MultitouchInputMode.GESTURE; for each (var item:String in Multitouch.supportedGestures) { trace("gesture " + item); if (item == TransformGestureEvent.GESTURE_PAN) img.addEventListener(TransformGestureEvent.GESTURE_PAN, onPan); else if (item == TransformGestureEvent.GESTURE_ROTATE) img.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate); else if (item == TransformGestureEvent.GESTURE_SWIPE) img.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe); else if (item == TransformGestureEvent.GESTURE_ZOOM) img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom); }
flash.events.TouchEventflash.events.MouseEventflash.events.EventDispatcher.addEventListener()flash.events.GestureEventflash.events.PressAndTapGestureEventflash.events.TransformGestureEvent
supportsGestureEvents 表示当前环境是否支持手势输入,例如绕触摸屏旋转两个手指。Boolean 表示当前环境是否支持手势输入,例如绕触摸屏旋转两个手指。Gesture 事件在 TransformGestureEvent、PressAndTapGestureEvent 和 GestureEvent 类中列出。

注意:对于 Mac OS 10.5.3 和更高版本,此值始终为 true。即使硬件不支持 gesture 事件,Multitouch.supportsGestureEvent 仍将返回 true

flash.events.TransformGestureEventflash.events.GestureEventflash.events.PressAndTapGestureEvent
supportsTouchEvents 表示当前环境是否支持基本触摸输入,如单指点击。Boolean 表示当前环境是否支持基本触摸输入,如单指点击。TouchEvent 类中列出了 Touch 事件。 以下示例显示当前环境是否支持 touch 事件: var myTextField:TextField = new TextField(); myTextField.width = 200; addEventListener(Event.ENTER_FRAME, enterhandler); function enterhandler(e:Event): void { var support:Boolean = Multitouch.supportsTouchEvents; switch (support) { case true : myTextField.text = "Touch events supported"; break; case false : myTextField.text = "Touch events not supported"; break; default : myTextField.text = "unknown"; } addChild(myTextField); } flash.events.TouchEvent
ContextMenuItem ContextMenuItem 类表示上下文菜单中的项。flash.display:NativeMenuItem ContextMenuItem 类表示上下文菜单中的项。每个 ContextMenuItem 对象都有一个显示在上下文菜单中的标题(文本)。要向上下文菜单中添加新项,请将其添加到 ContextMenu 对象的 customItems 数组。

利用 ContextMenuItem 类的属性,您可以启用或禁用特定菜单项,也可以显示或隐藏菜单项。

可以为 menuItemSelect 事件编写事件处理函数,以便在用户选择菜单项时为其添加功能。

自定义菜单项出现在上下文菜单的顶部,并位于所有内置菜单项之上。有一条分隔条将自定义菜单项与内置菜单项分开。在 AIR 中,不存在内置菜单项,且下列限制不适用于 AIR 应用程序沙箱中的内容。

限制:

  • 向上下文菜单添加的自定义菜单项不得超过 15 个。
  • 每个标题至少必须包含一个可见字符。
  • 控制字符、换行符和其他空白字符将被忽略。
  • 任何标题的长度都不能超过 100 个字符。
  • 与任何内置菜单项或其他自定义菜单项相同的标题将被忽略,不管匹配的菜单项是否可见。菜单标题在与内置标题或现有自定义标题比较时将不考虑大小写、标点符号或空白。
  • 不允许使用以下标题,但可以将这些词与其他词结合使用以形成自定义标题(例如,尽管不允许使用“粘贴”,但却允许使用“粘贴感觉良好”):
     Save
     Zoom In
     Zoom Out
     100%
     Show All
     Quality
     Play
     Loop
     Rewind
     Forward
     Back
     Movie not loaded
     About
     Print
     Show Redraw Regions
     Debugger
     Undo
     Cut
     Copy
     Paste
     Delete
     Select All
     Open
     Open in new window
     Copy link
     
  • 不管是本身还是与其他词结合使用,以下任何一个词都不能出现在自定义标题中:
     Adobe
     Macromedia
     Flash Player
     Settings
     

注意:如果播放器运行在非英语系统上,标题字符串将同时与英语列表和对应的本地化字符串进行比较。

下例使用 ContextMenuBuiltInItemsExample 类从舞台中删除默认的上下文菜单项,并添加新的菜单项。这是由以下步骤完成的:
  1. 声明属性 myContextMenu,然后将其赋给新的 ContextMenu 对象。
  2. 调用 removeDefaultItems() 方法,该方法将删除所有内置的上下文菜单项(“打印”除外)。
  3. 调用 addCustomMenuItems() 方法,该方法使用数组的 push() 方法将称为 Hello World 的菜单项放入 customItems 数组。
  4. Hello World 上下文菜单项添加到舞台的上下文菜单项列表中。
  5. 将具有文本“在此处右键单击”的 TextField 对象添加到舞台。
package { import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import flash.ui.ContextMenuBuiltInItems; import flash.display.Sprite; import flash.text.TextField; public class ContextMenuItemExample extends Sprite { private var myContextMenu:ContextMenu; public function ContextMenuItemExample() { myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); this.contextMenu = myContextMenu; addChild(createLabel()); } private function removeDefaultItems():void { myContextMenu.hideBuiltInItems(); var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems; defaultItems.print = true; } private function addCustomMenuItems():void { var item:ContextMenuItem = new ContextMenuItem("Hello World"); myContextMenu.customItems.push(item); } private function createLabel():TextField { var txtField:TextField = new TextField(); txtField.text = "Right Click Here"; return txtField; } } }
ContextMenu 类ContextMenuBuiltInItems 类menuItemSelect 用户从上下文菜单中选择某一项时调度。flash.events.ContextMenuEvent.MENU_ITEM_SELECTflash.events.ContextMenuEvent 用户从上下文菜单中选择某一项时调度。用户通过单击其指针设备的辅助按钮来生成上下文菜单。 ContextMenuItem 创建一个可添加到 ContextMenu.customItems 数组的新 ContextMenuItem 对象。captionString指定与菜单项关联的文本。有关 caption 值限制,请参阅 ContextMenuItem 类概述。 separatorBeforeBooleanfalse指定分隔条是否显示在上下文菜单中的菜单项上方。默认值为 falseenabledBooleantrue指定菜单项在上下文菜单中是处于启用状态还是禁用状态。默认值为 true(启用)。此参数是可选的。 visibleBooleantrue指定菜单项是否可见。默认值为 true(可见)。 创建一个可添加到 ContextMenu.customItems 数组的新 ContextMenuItem 对象。 clone 创建 NativeMenuItem 对象的副本。flash.display:NativeMenuItem 创建 NativeMenuItem 对象的副本。 systemClearMenuItemflash.ui:ContextMenuItemsystemCopyLinkMenuItemflash.ui:ContextMenuItemsystemCopyMenuItemflash.ui:ContextMenuItemsystemCutMenuItemflash.ui:ContextMenuItemsystemOpenLinkMenuItemflash.ui:ContextMenuItemsystemPasteMenuItemflash.ui:ContextMenuItemsystemSelectAllMenuItemflash.ui:ContextMenuItemcaption 指定上下文菜单中显示的菜单项标题(文本)。String 指定上下文菜单中显示的菜单项标题(文本)。有关 caption 值限制,请参阅 ContextMenuItem 类概述。 separatorBefore 表示指定的菜单项上方是否显示分隔条。Booleanfalse 表示指定的菜单项上方是否显示分隔条。

注意:任何自定义菜单项和内置菜单项之间始终会出现分隔条。

visible 表示在显示 Flash Player 上下文菜单时指定菜单项是否可见。Booleantrue 表示在显示 Flash Player 上下文菜单时指定菜单项是否可见。