Gamepad
Introduction¶
Gamepad's state of buttons, or axis.
- Author: Richard Davey
Usage¶
Enable gamepad manager¶
var config = {
// ...
input: {
gamepad: true
},
// ...
}
var game = new Phaser.Game(config);
Get gamepad¶
- Get all currently connected Gamepads.
var gamepads = scene.input.gamepad.getAll(); - Get gamepad by index
var gamepad = scene.input.gamepad.getPad(0); // var gamepad = scene.input.gamepad.getPad(index); - Get gamepad when button-down.
scene.input.gamepad.once('down', function (gamepad, button, value) { }gamepad: A reference to the Gamepad on which the button was released. See Properties of gamepadbutton: A reference to the Button which was released.value: The value of the button at the time it was released. Between 0 and 1. Some Gamepads have pressure-sensitive buttons.
Events¶
- Button down
or
scene.input.gamepad.on('down', function (gamepad, button, value) { })gamepad.on('down', function(buttonIndex, value, button) { }) - Button up
or
scene.input.gamepad.on('up', function (gamepad, button, value) { }gamepad.on('up', function(buttonIndex, value, button) { }) - Gamepad connected
scene.input.gamepad.on('connected', function (gamepad, event) { } - Gamepad disconnected
scene.input.gamepad.on('disconnected', function (gamepad, event) { }
Gamepad¶
Buttons¶
- Cursor buttons
var isLeftDown = gamepad.left; var isRightftDown = gamepad.right; var isUpDown = gamepad.up; var isDownDown = gamepad.down; - Right buttons cluster
var isADown = gamepad.A; // Dual Shock controller: X button var isYDown = gamepad.Y; // Dual Shock controller: Triangle button var isXDown = gamepad.X; // Dual Shock controller: Square button. var isBDown = gamepad.B; // Dual Shock controller: Circle button - Shoulder buttons
var isL1Down = gamepad.L1; // XBox controller: LB button var isL2Down = gamepad.L2; // XBox controller: LT button var isR1Down = gamepad.R1; // XBox controller: RB button var isR2Down = gamepad.R2; // XBox controller: RT button
Axis sticks¶
- Left sticks, right sticks
var leftStick = gamepad.leftStick; var rightStick = gamepad.rightStick;leftStick,rightStick: Read only vector2.- Angle :
leftStick.angle() - Length :
leftStick.length() - x, y :
leftStick.x,leftStick.y
- Angle :
Properties¶
gamepad.index: An integer that is unique for each Gamepad currently connected to the system. This can be used to distinguish multiple controllers. Note that disconnecting a device and then connecting a new device may reuse the previous index.gamepad.id: A string containing some information about the controller.gamepad.buttons: An array of Gamepad Button objects, corresponding to the different buttons available on the Gamepad.gamepad.axes: An array of Gamepad Axis objects, corresponding to the different axes available on the Gamepad, if any.