Navigation
These archived docs are for Phaser 2.4.4 Phaser 3 docs can be found on newdocs.phaser.io.
Phaser CE docs can be found on the Phaser CE Documentation site.

Constructor

Phaser. Gamepad

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 486)

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 528)

[readonly] pad2 : Phaser.SinglePad

Gamepad #2

Source code: input/Gamepad.js (Line 542)

[readonly] pad3 : Phaser.SinglePad

Gamepad #3

Source code: input/Gamepad.js (Line 556)

[readonly] pad4 : Phaser.SinglePad

Gamepad #4

Source code: input/Gamepad.js (Line 570)

[readonly] padsConnected : number

How many live gamepads are currently connected.

Source code: input/Gamepad.js (Line 514)

[readonly] supported : boolean

Whether or not gamepads are supported in current browser.

Source code: input/Gamepad.js (Line 500)

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 466)

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 447)

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 426)

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 405)

reset()

Reset all buttons/axes of all gamepads

Source code: input/Gamepad.js (Line 390)

setDeadZones()

Sets the deadZone variable for all four gamepads

Source code: input/Gamepad.js (Line 363)

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 376)

<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)