GamepadPlugin

.Input.Gamepad. GamepadPlugin

游戏手柄插件是一个属于场景输入系统的输入插件. 它的作用是监听本机DOM Gamepad事件,然后处理它们. 您不需要直接创建这个类,输入系统将自动创建它的一个实例. 你可以在一个场景中使用. 要监听连接的游戏手柄: ```javascript this.input.gamepad.once('connected', function (pad) { // 'pad' is a reference to the gamepad that was just connected }); ``` 请注意,浏览器可能需要您按下游戏手柄上的一个按钮,它才会允许您访问它, 这是出于安全考虑.然而,它也可能已经信任该页面,在这种情况下,您将不会得到 `connected` 事件,而是应该检查 `GamepadPlugin.total` 以查看它是否认为有任何游戏板 已经连接. 一旦你收到连接事件,或者轮询游戏手柄并发现它们已启用,你就可以访问 通过内置属性 `zGamePadPlugin.pad 1` 到 `z pad 4` ,最多4个游戏板.有参考 你可以点击游戏手柄的按钮和轴杆.请参见上可用的属性和方法 有关更多详细信息,请访问 `Gamepad` 类. 从2020年9月开始,Chrome和其他浏览器将很快开始要求游戏请求 对游戏手柄应用编程接口的访问是在SSL下运行的.如果不是,他们将主动阻止API访问. 有关浏览器中游戏手柄支持的更多信息,请参阅以下资源: https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API https://www.smashingmagazine.com/2015/11/gamepad-api-in-web-games/ http://html5gamepad.com/

Constructor

new GamepadPlugin(sceneInputPlugin)

Since:
  • 3.10.0
Parameters:
Name Type Description
sceneInputPlugin Phaser.Input.InputPlugin 键盘插件所属的场景输入插件的引用.

Extends

Members

enabled :boolean

Since:
  • 3.10.0
Default Value:
  • true
一个布尔值,它控制游戏手柄管理器是否启用. 可以随时切换.
Type:
  • boolean

gamepads :Array.<Phaser.Input.Gamepad.Gamepad>

Since:
  • 3.10.0
Default Value:
  • []
一组相连的游戏手柄.
Type:

pad1 :Phaser.Input.Gamepad.Gamepad

Since:
  • 3.10.0
对第一个连接的游戏手柄的引用. 如果没有连接键盘或浏览器,这将是未定义的 还没有发布gamepadconnect,这可能会发生,即使一个Gamepad 已插入,但尚未按下任何按钮.
Type:

pad2 :Phaser.Input.Gamepad.Gamepad

Since:
  • 3.10.0
对第二个连接的游戏手柄的引用. 如果没有连接键盘或浏览器,这将是未定义的 还没有发布gamepadconnect,这可能会发生,即使一个Gamepad 已插入,但尚未按下任何按钮.
Type:

pad3 :Phaser.Input.Gamepad.Gamepad

Since:
  • 3.10.0
对第三个连接的游戏手柄的引用. 如果没有连接键盘或浏览器,这将是未定义的 还没有发布gamepadconnect,这可能会发生,即使一个Gamepad 已插入,但尚未按下任何按钮.
Type:

pad4 :Phaser.Input.Gamepad.Gamepad

Since:
  • 3.10.0
对第四个连接的游戏手柄的引用. 如果没有连接键盘或浏览器,这将是未定义的 还没有发布gamepadconnect,这可能会发生,即使一个Gamepad 已插入,但尚未按下任何按钮.
Type:

scene :Phaser.Scene

Since:
  • 3.10.0
这个输入插件负责的场景的引用.
Type:

sceneInputPlugin :Phaser.Input.InputPlugin

Since:
  • 3.10.0
创建这个键盘插件的场景输入插件的参考.
Type:

settings :Phaser.Types.Scenes.SettingsObject

Since:
  • 3.10.0
场景系统设置的参考.
Type:

target :any

Since:
  • 3.10.0
游戏配置中定义的游戏手柄事件目标. 通常是浏览器窗口,但也可以是任何交互式DOM元素.
Type:
  • any

total :number

Since:
  • 3.10.0
连接的游戏手柄总数.
Type:
  • number

Methods

addListener(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

disconnectAll()

Since:
  • 3.10.0
断开所有当前游戏手柄.

emit(event, …argsopt) → {boolean}

Since:
  • 3.0.0
Inherited From:
调用为给定事件注册的每个侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
args * <optional>
<repeatable>
将传递给事件处理程序的附加参数.
Returns:
`true` 如果事件有侦听器,则为 `false` .
Type
boolean

eventNames() → {Array.<(string|symbol)>}

Since:
  • 3.0.0
Inherited From:
返回一个数组,列出发射器已注册侦听器的事件.
Returns:
Type
Array.<(string|symbol)>

getAll() → {Array.<Phaser.Input.Gamepad.Gamepad>}

Since:
  • 3.10.0
返回所有当前连接的游戏手柄的数组.
Returns:
所有当前连接的游戏手柄的数组.
Type
Array.<Phaser.Input.Gamepad.Gamepad>

getPad(index) → {Phaser.Input.Gamepad.Gamepad}

Since:
  • 3.10.0
根据给定的索引值查找单个游戏手柄.
Parameters:
Name Type Description
index number 要获取的游戏手柄的索引.
Returns:
与给定索引匹配的游戏手柄,如果没有找到,则为未定义.
Type
Phaser.Input.Gamepad.Gamepad

isActive() → {boolean}

Since:
  • 3.10.0
检查该插件及其所属的场景是否处于活动状态.
Returns:
`true` 如果插件和它所属的场景是活动的.
Type
boolean

listenerCount(event) → {number}

Since:
  • 3.0.0
Inherited From:
返回监听给定事件的侦听器数量.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
侦听器的数量.
Type
number

listeners(event) → {Array.<function()>}

Since:
  • 3.0.0
Inherited From:
返回为给定事件注册的侦听器.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
注册的听众.
Type
Array.<function()>

off(event, fnopt, contextopt, onceopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除给定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
fn function <optional>
仅移除与此函数匹配的侦听器.
context * <optional>
仅移除具有此上下文的侦听器.
once boolean <optional>
仅删除一次性侦听器.
Returns:
`this`.
Type
this

on(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

once(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加一次性侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

removeAllListeners(eventopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除所有侦听器或指定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol <optional>
事件名称.
Returns:
`this`.
Type
this

removeListener(event, fnopt, contextopt, onceopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除给定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
fn function <optional>
仅移除与此函数匹配的侦听器.
context * <optional>
仅移除具有此上下文的侦听器.
once boolean <optional>
仅删除一次性侦听器.
Returns:
`this`.
Type
this