Class: DeviceButton

Phaser. DeviceButton

new DeviceButton(parent, buttonCode)

DeviceButtons belong to both Phaser.Pointer and Phaser.SinglePad (Gamepad) instances.

For Pointers they represent the various buttons that can exist on mice and pens, such as the left button, right button, middle button and advanced buttons like back and forward.

Access them via Pointer.leftbutton, Pointer.rightButton and so on.

On Gamepads they represent all buttons on the pad: from shoulder buttons to action buttons.

At the time of writing this there are device limitations you should be aware of:

  • On Windows, if you install a mouse driver, and its utility software allows you to customize button actions (e.g., IntelliPoint and SetPoint), the middle (wheel) button, the 4th button, and the 5th button might not be set, even when they are pressed.
  • On Linux (GTK), the 4th button and the 5th button are not supported.
  • On Mac OS X 10.5 there is no platform API for implementing any advanced buttons.
Parameters:
Name Type Description
parent Phaser.Pointer | Phaser.SinglePad

A reference to the parent of this button. Either a Pointer or a Gamepad.

buttonCode number

The button code this DeviceButton is responsible for.

Source:
src/input/DeviceButton.js line 31

Members

altKey : boolean

True if the alt key was held down when this button was last pressed or released. Not supported on Gamepads.

Type:
  • boolean
Source:
src/input/DeviceButton.js line 87

buttonCode : number

The buttoncode of this button if a Gamepad, or the DOM button event value if a Pointer.

Type:
  • number
Source:
src/input/DeviceButton.js line 114

ctrlKey : boolean

True if the control key was held down when this button was last pressed or released. Not supported on Gamepads.

Type:
  • boolean
Source:
src/input/DeviceButton.js line 103

<readonly> duration : number

How long the button has been held down for in milliseconds. If not currently down it returns -1.

Type:
  • number
Source:
src/input/DeviceButton.js line 317

event : object

The DOM event that caused the change in button state.

Type:
  • object
Source:
src/input/DeviceButton.js line 47

game : Phaser.Game

A reference to the currently running game.

Type:
Source:
src/input/DeviceButton.js line 41

isDown : boolean

The "down" state of the button.

Type:
  • boolean
Source:
src/input/DeviceButton.js line 53

isUp : boolean

The "up" state of the button.

Type:
  • boolean
Default Value:
  • true
Source:
src/input/DeviceButton.js line 59

onDown : Phaser.Signal

This Signal is dispatched every time this DeviceButton is pressed down. It is only dispatched once (until the button is released again). When dispatched it sends 2 arguments: A reference to this DeviceButton and the value of the button.

Type:
Source:
src/input/DeviceButton.js line 122

onFloat : Phaser.Signal

Gamepad only. This Signal is dispatched every time this DeviceButton changes floating value (between, but not exactly, 0 and 1). When dispatched it sends 2 arguments: A reference to this DeviceButton and the value of the button.

Type:
Source:
src/input/DeviceButton.js line 138

onUp : Phaser.Signal

This Signal is dispatched every time this DeviceButton is released from a down state. It is only dispatched once (until the button is pressed again). When dispatched it sends 2 arguments: A reference to this DeviceButton and the value of the button.

Type:
Source:
src/input/DeviceButton.js line 130

parent : Phaser.Pointer | Phaser.SinglePad

A reference to the Pointer or Gamepad that owns this button.

Type:
Source:
src/input/DeviceButton.js line 36

repeats : number

Gamepad only. If a button is held down this holds down the number of times the button has 'repeated'.

Type:
  • number
Source:
src/input/DeviceButton.js line 79

shiftKey : boolean

True if the shift key was held down when this button was last pressed or released. Not supported on Gamepads.

Type:
  • boolean
Source:
src/input/DeviceButton.js line 95

timeDown : number

The timestamp when the button was last pressed down.

Type:
  • number
Source:
src/input/DeviceButton.js line 65

timeUp : number

The timestamp when the button was last released.

Type:
  • number
Source:
src/input/DeviceButton.js line 71

value : number

Button value. Mainly useful for checking analog buttons (like shoulder triggers) on Gamepads.

Type:
  • number
Source:
src/input/DeviceButton.js line 109

Methods

destroy()

Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals and clears the parent and game references.

Source:
src/input/DeviceButton.js line 297

justPressed( [duration])

Returns the "just pressed" state of this button. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

Parameters:
Name Type Argument Default Description
duration number <optional>
250

The duration in ms below which the button is considered as being just pressed.

Source:
src/input/DeviceButton.js line 249
Returns:

True if the button is just pressed otherwise false.

Type
boolean

justReleased( [duration])

Returns the "just released" state of this button. Just released is considered as being true if the button was released within the duration given (default 250ms).

Parameters:
Name Type Argument Default Description
duration number <optional>
250

The duration in ms below which the button is considered as being just released.

Source:
src/input/DeviceButton.js line 264
Returns:

True if the button is just released otherwise false.

Type
boolean

<protected> padFloat(value)

Called automatically by Phaser.SinglePad.

Parameters:
Name Type Description
value number

Button value

Source:
src/input/DeviceButton.js line 232

reset()

Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters.

Source:
src/input/DeviceButton.js line 279

<protected> start( [event] [, value])

Called automatically by Phaser.Pointer and Phaser.SinglePad. Handles the button down state.

Parameters:
Name Type Argument Description
event object <optional>

The DOM event that triggered the button change.

value number <optional>

The button value. Only get for Gamepads.

Source:
src/input/DeviceButton.js line 143

<protected> startStop( [condition] [, event] [, value])

Called automatically by Phaser.Pointer. Starts or stops button based on condition.

Parameters:
Name Type Argument Description
condition boolean <optional>

The condition that decides between start or stop.

event object <optional>

The DOM event that triggered the button change.

value number <optional>

The button value. Only get for Gamepads.

Source:
src/input/DeviceButton.js line 210

<protected> stop( [event] [, value])

Called automatically by Phaser.Pointer and Phaser.SinglePad. Handles the button up state.

Parameters:
Name Type Argument Description
event object <optional>

The DOM event that triggered the button change.

value number <optional>

The button value. Only get for Gamepads.

Source:
src/input/DeviceButton.js line 177

phaser-ce@2.20.1 is on GitHub and NPM

Documentation generated by JSDoc 3.6.11 on 2024-10-05 using Tomorrow.