Class: Phaser.DeviceButton
Constructor
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 code: input/DeviceButton.js (Line 31)
Public Properties
- Source code: input/DeviceButton.js (Line 87)
- Source code: input/DeviceButton.js (Line 114)
- Source code: input/DeviceButton.js (Line 103)
- Source code: input/DeviceButton.js (Line 300)
- Source code: input/DeviceButton.js (Line 47)
- Source code: input/DeviceButton.js (Line 41)
- Source code: input/DeviceButton.js (Line 53)
- Default Value
- true
- Source code: input/DeviceButton.js (Line 59)
- Source code: input/DeviceButton.js (Line 122)
- Source code: input/DeviceButton.js (Line 138)
- Source code: input/DeviceButton.js (Line 130)
- Source code: input/DeviceButton.js (Line 36)
- Source code: input/DeviceButton.js (Line 79)
- Source code: input/DeviceButton.js (Line 95)
- Source code: input/DeviceButton.js (Line 65)
- Source code: input/DeviceButton.js (Line 71)
- Source code: input/DeviceButton.js (Line 109)
altKey : boolean
True if the alt key was held down when this button was last pressed or released.
Not supported on Gamepads.
buttonCode : number
The buttoncode of this button if a Gamepad, or the DOM button event value if a Pointer.
ctrlKey : boolean
True if the control key was held down when this button was last pressed or released.
Not supported on Gamepads.
[readonly] duration : number
How long the button has been held down for in milliseconds.
If not currently down it returns -1.
event : Object
The DOM event that caused the change in button state.
game : Phaser.Game
A reference to the currently running game.
isDown : boolean
The "down" state of the button.
isUp : boolean
The "up" state of the button.
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.
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.
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.
parent : Phaser.Pointer | Phaser.SinglePad
A reference to the Pointer or Gamepad that owns this button.
Type
repeats : number
Gamepad only.
If a button is held down this holds down the number of times the button has 'repeated'.
shiftKey : boolean
True if the shift key was held down when this button was last pressed or released.
Not supported on Gamepads.
timeDown : number
The timestamp when the button was last pressed down.
timeUp : number
The timestamp when the button was last released.
value : number
Button value. Mainly useful for checking analog buttons (like shoulder triggers) on Gamepads.
Public Methods
- Source code: input/DeviceButton.js (Line 279)
- Source code: input/DeviceButton.js (Line 228)
- Source code: input/DeviceButton.js (Line 244)
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/DeviceButton.js (Line 213)
- Source code: input/DeviceButton.js (Line 260)
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/DeviceButton.js (Line 144)
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/DeviceButton.js (Line 179)
destroy()
Destroys this DeviceButton, this disposes of the onDown, onUp and onFloat signals
and clears the parent and game references.
justPressed(duration) → {boolean}
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. |
Returns
True if the button is just pressed otherwise false.
justReleased(duration) → {boolean}
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. |
Returns
True if the button is just released otherwise false.
<internal> padFloat(value)
Called automatically by Phaser.SinglePad.
Parameters
Name | Type | Description |
---|---|---|
value | number | Button value |
reset()
Resets this DeviceButton, changing it to an isUp state and resetting the duration and repeats counters.
<internal> 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. |
<internal> 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. |
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.DeviceButton.html