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

GameInput  - AS3

flash.ui
public final class GameInput
继承GameInput Inheritance EventDispatcher Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 3.7

GameInput 类是 GameInput API 的入口点。可使用此 API 管理应用程序与游戏输入设备(例如:游戏杆、游戏手柄和游戏棒)之间的通信。

此类的主要目的是提供对与应用程序平台相连的受支持输入设备的访问。此静态类枚举列表中连接的输入设备。可以使用 getDeviceAt(index:int) 方法从列表中访问设备。

numDevices 属性提供目前与平台相连的输入设备的数量。使用此值确定设备列表的上限。

使用此类的实例侦听通知您有关添加和删除输入设备的事件。若要侦听这些事件,请执行以下操作:

  1. 创建 GameInput 类的一个实例。
  2. GameInputEvent.DEVICE_ADDEDGameInputEvent.DEVICE_REMOVED 事件添加事件侦听器。(只能在类的实例上注册事件。)

此类还具有 isSupported 标记,该标记指示平台上是否支持 GameInput API。

有关更多信息,请参阅 Adobe AIR 开发人员中心文章:Adobe AIR 中的游戏控制器

对于 Android,此功能支持的 Android OS 最低版本为 4.1,需要的 SWF 最低版本为 20,命名空间最低版本为 3.7。对于 iOS,此功能支持的 iOS 最低版本为 9.0,需要的 SWF 最低版本为 34,命名空间最低版本为 23.0。

如何从相同的设备中检测单个游戏输入设备

具有两个或多个玩家的游戏的共同需求是从相同设备中检测单个设备。例如,应用程序有时必须确定哪个设备代表“玩家 1”、“玩家 2”、...、“玩家 N”。

解决方案:

  1. 将事件侦听器添加到所有未检测到的输入设备上的每个控件中。这些事件侦听器会侦听 Event.CHANGE 事件,每当控件值更改后都会调度这些事件。
  2. 首次激活任何控件(例如,按一下按钮或拉一下触发器)时,应用程序会标记该设备。
  3. 从剩余未检测到的输入设备中删除所有事件侦听器。
  4. 根据需要重复步骤 1-3,以标识其余未检测到的输入设备。

相关 API 元素



公共属性
 属性由以下参数定义
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
      isSupported : Boolean
[静态] [只读] 指示当前平台是否支持 GameInput API。
GameInput
      numDevices : int
[静态] [只读] 提供所连接的输入设备的数量。
GameInput
公共方法
 方法由以下参数定义
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
将事件调度到事件流中。
EventDispatcher
  
[静态] 获取位于相连输入设备列表中的指定索引位置的输入设备。
GameInput
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 由以下参数定义
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
  将游戏输入设备连接到平台时或相连设备已打开时调度。GameInput
  从平台中删除游戏输入设备时或关闭相连设备时调度。GameInput
  当连接了游戏输入设备但设备不可用时调度。GameInput
属性详细信息
    

isSupported

属性
isSupported:Boolean  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 3.7

指示当前平台是否支持 GameInput API。



实现
    public static function get isSupported():Boolean
    

numDevices

属性 
numDevices:int  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 3.7

提供所连接的输入设备的数量。连接某个设备时,会触发 GameInputEvent.DEVICE_ADDED 事件。



实现
    public static function get numDevices():int
方法详细信息

    getDeviceAt

()方法
public static function getDeviceAt(index:int):GameInputDevice

语言版本: ActionScript 3.0
运行时版本: AIR 3.7

获取位于相连输入设备列表中的指定索引位置的输入设备。

每当添加或删除设备时,索引中设备的顺序可能会发生更改。您可以在 GameInputDevice 对象上检查 nameid 属性以匹配特定输入设备。

参数

index:int — 在输入设备列表中的索引位置。

返回
GameInputDevice — 指定的 GameInputDevice

引发
RangeError — 当提供的索引小于零或大于 (numDevices - 1) 时。
事件详细信息

deviceAdded

事件
事件对象类型: flash.events.GameInputEvent

将游戏输入设备连接到平台时或相连设备已打开时调度。

deviceRemoved

事件  
事件对象类型: flash.events.GameInputEvent

从平台中删除游戏输入设备时或关闭相连设备时调度。

deviceUnusable

事件  
事件对象类型: flash.events.GameInputEvent

当连接了游戏输入设备但设备不可用时调度。此事件仅适用于 Windows。例如,在 Windows 沙箱式浏览器中,当另一个基于 DirectInput 的应用程序已在使用设备时,便会调度此事件。





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

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