new Gamepad(game)
The Gamepad class handles gamepad input and dispatches gamepad events.
Remember to call gamepad.start()
.
HTML5 GAMEPAD API SUPPORT IS AT AN EXPERIMENTAL STAGE!
At moment of writing this (end of 2013) only Chrome supports parts of it out of the box. Firefox supports it
via prefs flags (about:config, search gamepad). The browsers map the same controllers differently.
This class has constants for Windows 7 Chrome mapping of XBOX 360 controller.
Parameters
Name | Type | Description |
---|---|---|
game |
Phaser.Game | A reference to the currently running game. |
- Source code: input/Gamepad.js (Line 21)
Public Properties
-
[readonly] active : boolean
-
If the gamepad input is active or not - if not active it should not be updated from Input.js
- Source code: input/Gamepad.js (Line 496)
-
callbackContext : Object
-
The context under which the callbacks are run.
- Source code: input/Gamepad.js (Line 80)
-
enabled : boolean
-
Gamepad input will only be processed if enabled.
- Default Value
- true
- Source code: input/Gamepad.js (Line 52)
-
game : Phaser.Game
-
Local reference to game.
- Source code: input/Gamepad.js (Line 26)
-
onAxisCallback : Function
-
This callback is invoked every time any gamepad axis is changed.
- Source code: input/Gamepad.js (Line 105)
-
onConnectCallback : Function
-
This callback is invoked every time any gamepad is connected
- Source code: input/Gamepad.js (Line 85)
-
onDisconnectCallback : Function
-
This callback is invoked every time any gamepad is disconnected
- Source code: input/Gamepad.js (Line 90)
-
onDownCallback : Function
-
This callback is invoked every time any gamepad button is pressed down.
- Source code: input/Gamepad.js (Line 95)
-
onFloatCallback : Function
-
This callback is invoked every time any gamepad button is changed to a value where value > 0 and value < 1.
- Source code: input/Gamepad.js (Line 110)
-
onUpCallback : Function
-
This callback is invoked every time any gamepad button is released.
- Source code: input/Gamepad.js (Line 100)
-
[readonly] pad1 : Phaser.SinglePad
-
Gamepad #1
- Source code: input/Gamepad.js (Line 538)
-
[readonly] pad2 : Phaser.SinglePad
-
Gamepad #2
- Source code: input/Gamepad.js (Line 552)
-
[readonly] pad3 : Phaser.SinglePad
-
Gamepad #3
- Source code: input/Gamepad.js (Line 566)
-
[readonly] pad4 : Phaser.SinglePad
-
Gamepad #4
- Source code: input/Gamepad.js (Line 580)
-
[readonly] padsConnected : number
-
How many live gamepads are currently connected.
- Source code: input/Gamepad.js (Line 524)
-
[readonly] supported : boolean
-
Whether or not gamepads are supported in current browser.
- Source code: input/Gamepad.js (Line 510)
Public Methods
-
addCallbacks(context, callbacks)
-
Add callbacks to the main Gamepad handler to handle connect/disconnect/button down/button up/axis change/float value buttons.
Parameters
Name Type Description context
object The context under which the callbacks are run.
callbacks
object Object that takes six different callback methods:
onConnectCallback, onDisconnectCallback, onDownCallback, onUpCallback, onAxisCallback, onFloatCallback- Source code: input/Gamepad.js (Line 139)
-
destroy()
-
Destroys this object and the associated event listeners.
- Source code: input/Gamepad.js (Line 476)
-
isDown(buttonCode) → {boolean}
-
Returns true if the button is currently pressed down, on ANY gamepad.
Parameters
Name Type Description buttonCode
number The buttonCode of the button to check for.
Returns
boolean -True if a button is currently down.
- Source code: input/Gamepad.js (Line 457)
-
justPressed(buttonCode, duration) → {boolean}
-
Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).
Parameters
Name Type Argument Default Description buttonCode
number The buttonCode of the button to check for.
duration
number <optional>
250 The duration below which the button is considered as being just released.
Returns
boolean -True if the button is just released otherwise false.
- Source code: input/Gamepad.js (Line 436)
-
justPressed(buttonCode, duration) → {boolean}
-
Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).
Parameters
Name Type Argument Default Description buttonCode
number The buttonCode of the button to check for.
duration
number <optional>
250 The duration below which the button is considered as being just pressed.
Returns
boolean -True if the button is just pressed otherwise false.
- Source code: input/Gamepad.js (Line 415)
-
reset()
-
Reset all buttons/axes of all gamepads
- Source code: input/Gamepad.js (Line 400)
-
setDeadZones()
-
Sets the deadZone variable for all four gamepads
- Source code: input/Gamepad.js (Line 373)
-
start()
-
Starts the Gamepad event handling.
This MUST be called manually before Phaser will start polling the Gamepad API.- Source code: input/Gamepad.js (Line 162)
-
stop()
-
Stops the Gamepad event handling.
- Source code: input/Gamepad.js (Line 386)
-
<internal> update()
-
Main gamepad update loop. Should not be called manually.
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Gamepad.js (Line 231)