On this page
Class: Phaser.Input
Constructor
new Input(game)
Phaser.Input is the Input Manager for all types of Input across Phaser, including mouse, keyboard, touch and MSPointer.
The Input manager is updated automatically by the core game loop.
Parameters
Name | Type | Description |
---|---|---|
game |
Phaser.Game | Current game instance. |
- Source code: input/Input.js (Line 15)
Public Properties
- Source code: input/Input.js (Line 377)
- Source code: input/Input.js (Line 358)
- Source code: input/Input.js (Line 370)
- Source code: input/Input.js (Line 364)
- Source code: input/Input.js (Line 223)
- Source code: input/Input.js (Line 91)
- Default Value
-
- 300
- Source code: input/Input.js (Line 114)
- Default Value
-
- true
- Source code: input/Input.js (Line 67)
- Source code: input/Input.js (Line 20)
- Source code: input/Input.js (Line 274)
- Source code: input/Input.js (Line 26)
- Source code: input/Input.js (Line 32)
- Default Value
-
- 2000
- Source code: input/Input.js (Line 120)
- Source code: input/Input.js (Line 320)
- Default Value
-
- 200
- Source code: input/Input.js (Line 126)
- Default Value
-
- 200
- Source code: input/Input.js (Line 132)
- Source code: input/Input.js (Line 247)
- Default Value
-
- -1 (Limited by total pointers.)
- Source code: input/Input.js (Line 102)
- Source code: input/Input.js (Line 314)
- Source code: input/Input.js (Line 240)
- Source code: input/Input.js (Line 230)
- Internal:
-
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Input.js (Line 40)
- Source code: input/Input.js (Line 267)
- Source code: input/Input.js (Line 73)
- Source code: input/Input.js (Line 288)
- Source code: input/Input.js (Line 306)
- Source code: input/Input.js (Line 300)
- Source code: input/Input.js (Line 294)
- Source code: input/Input.js (Line 160)
- Source code: input/Input.js (Line 165)
- Source code: input/Input.js (Line 170)
- Source code: input/Input.js (Line 175)
- Source code: input/Input.js (Line 180)
- Source code: input/Input.js (Line 185)
- Source code: input/Input.js (Line 190)
- Source code: input/Input.js (Line 195)
- Source code: input/Input.js (Line 200)
- Source code: input/Input.js (Line 205)
- Array.<Phaser.Pointer>
- Source code: input/Input.js (Line 214)
- Source code: input/Input.js (Line 1065)
- Source code: input/Input.js (Line 58)
- Source code: input/Input.js (Line 79)
- Default Value
-
- 100
- Source code: input/Input.js (Line 155)
- Source code: input/Input.js (Line 141)
- Default Value
-
- 100
- Source code: input/Input.js (Line 147)
- Source code: input/Input.js (Line 282)
- Source code: input/Input.js (Line 96)
- Source code: input/Input.js (Line 84)
- Default Value
-
- 200
- Source code: input/Input.js (Line 108)
- Source code: input/Input.js (Line 1093)
- Source code: input/Input.js (Line 1079)
- Source code: input/Input.js (Line 257)
- Source code: input/Input.js (Line 1107)
- Source code: input/Input.js (Line 1121)
- Source code: input/Input.js (Line 1029)
- Source code: input/Input.js (Line 1047)
[static] MAX_POINTERS : integer
The maximum number of pointers that can be added. This excludes the mouse pointer.
[static] MOUSE_OVERRIDES_TOUCH : number
[static] MOUSE_TOUCH_COMBINE : number
[static] TOUCH_OVERRIDES_MOUSE : number
activePointer : Phaser.Pointer
The most recently active Pointer object.
When you've limited max pointers to 1 this will accurately be either the first finger touched or mouse.
circle : Phaser.Circle
A Circle object centered on the x/y screen coordinates of the Input.
Default size of 44px (Apples recommended "finger tip" size) but can be changed to anything.
doubleTapRate : number
The number of milliseconds between taps of the same Pointer for it to be considered a double tap / click.
enabled : boolean
When enabled, input (eg. Keyboard, Mouse, Touch) will be processed - as long as the individual sources are enabled themselves.
When not enabled, all input sources are ignored. To disable just one type of input; for example, the Mouse, use input.mouse.enabled = false
.
game : Phaser.Game
A reference to the currently running game.
gamepad : Phaser.Gamepad
The Gamepad Input manager.
hitCanvas :HTMLCanvasElement
The canvas to which single pixels are drawn in order to perform pixel-perfect hit detection.
hitContext :CanvasRenderingContext2D
The context of the pixel perfect hit canvas.
holdRate : number
The number of milliseconds that the Pointer has to be pressed down for it to fire a onHold event.
interactiveItems : Phaser.ArraySet
A list of interactive objects. The InputHandler components add and remove themselves from this list.
justPressedRate : number
The number of milliseconds below which the Pointer is considered justPressed.
justReleasedRate : number
The number of milliseconds below which the Pointer is considered justReleased .
keyboard : Phaser.Keyboard
The Keyboard Input manager.
maxPointers : integer
The maximum number of Pointers allowed to be active at any one time. A value of -1 is only limited by the total number of pointers. For lots of games it's useful to set this to 1.
minPriorityID : number
You can tell all Pointers to ignore any Game Object with a priorityID
lower than this value.
This is useful when stacking UI layers. Set to zero to disable.
mouse : Phaser.Mouse
The Mouse Input manager.
You should not usually access this manager directly, but instead use Input.mousePointer or Input.activePointer
which normalizes all the input values for you, regardless of browser.
mousePointer :Pointer
The mouse has its own unique Phaser.Pointer object which you can use if making a desktop specific game.
<internal> moveCallbacks :array
An array of callbacks that will be fired every time the activePointer receives a move event from the DOM.
To add a callback to this array please use Input.addMoveCallback
.
mspointer : Phaser.MSPointer
The MSPointer Input manager.
You should not usually access this manager directly, but instead use Input.activePointer
which normalizes all the input values for you, regardless of browser.
multiInputOverride : number
Controls the expected behavior when using a mouse and touch together on a multi-input device.
onDown : Phaser.Signal
A Signal that is dispatched each time a pointer is pressed down.
onHold : Phaser.Signal
A Signal that is dispatched each time a pointer is held down.
onTap : Phaser.Signal
A Signal that is dispatched each time a pointer is tapped.
onUp : Phaser.Signal
A Signal that is dispatched each time a pointer is released.
pointer1 : Phaser.Pointer
A Pointer object.
pointer2 : Phaser.Pointer
A Pointer object.
pointer3 : Phaser.Pointer
A Pointer object.
pointer4 : Phaser.Pointer
A Pointer object.
pointer5 : Phaser.Pointer
A Pointer object.
pointer6 : Phaser.Pointer
A Pointer object.
pointer7 : Phaser.Pointer
A Pointer object.
pointer8 : Phaser.Pointer
A Pointer object.
pointer9 : Phaser.Pointer
A Pointer object.
pointer10 : Phaser.Pointer
A Pointer object.
[readonly] pointers : Array.<Phaser.Pointer>
An array of non-mouse pointers that have been added to the game.
The properties pointer1..N
are aliases for pointers[0..N-1]
.
Type
[readonly] pollLocked : boolean
True if the Input is currently poll rate locked.
pollRate : number
How often should the input pointers be checked for updates? A value of 0 means every single frame (60fps); a value of 1 means every other frame (30fps) and so on.
position : Phaser.Point
A point object representing the current position of the Pointer.
recordLimit : number
The total number of entries that can be recorded into the Pointer objects tracking history.
If the Pointer is tracking one event every 100ms; then a trackLimit of 100 would store the last 10 seconds worth of history.
recordPointerHistory : boolean
Sets if the Pointer objects should record a history of x/y coordinates they have passed through.
The history is cleared each time the Pointer is pressed down.
The history is updated at the rate specified in Input.pollRate
recordRate : number
The rate in milliseconds at which the Pointer objects should update their tracking history.
resetLocked : boolean
If the Input Manager has been reset locked then all calls made to InputManager.reset,
such as from a State change, are ignored.
scale : Phaser.Point
The scale by which all input coordinates are multiplied; calculated by the ScaleManager. In an un-scaled game the values will be x = 1 and y = 1.
speed : Phaser.Point
A point object representing the speed of the Pointer. Only really useful in single Pointer games; otherwise see the Pointer objects directly.
tapRate : number
The number of milliseconds that the Pointer has to be pressed down and then released to be considered a tap or click.
[readonly] totalActivePointers : integers
The total number of active Pointers, not counting the mouse pointer.
[readonly] totalInactivePointers : number
The total number of inactive Pointers.
touch : Phaser.Touch
The Touch Input manager.
You should not usually access this manager directly, but instead use Input.activePointer
which normalizes all the input values for you, regardless of browser.
[readonly] worldX : number
The world X coordinate of the most recently active pointer.
[readonly] worldY : number
The world Y coordinate of the most recently active pointer.
x : number
The X coordinate of the most recently active pointer.
This value takes game scaling into account automatically. See Pointer.screenX/clientX for source values.
y : number
The Y coordinate of the most recently active pointer.
This value takes game scaling into account automatically. See Pointer.screenY/clientY for source values.
Public Methods
- Source code: input/Input.js (Line 502)
- Source code: input/Input.js (Line 549)
- Internal:
-
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Input.js (Line 381)
- Source code: input/Input.js (Line 527)
- Source code: input/Input.js (Line 444)
- Source code: input/Input.js (Line 902)
- Source code: input/Input.js (Line 824)
- Source code: input/Input.js (Line 876)
- Source code: input/Input.js (Line 849)
- Source code: input/Input.js (Line 924)
- Source code: input/Input.js (Line 614)
- Source code: input/Input.js (Line 673)
- Source code: input/Input.js (Line 473)
- Internal:
-
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Input.js (Line 687)
- Internal:
-
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Input.js (Line 762)
- Internal:
-
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Input.js (Line 575)
- Internal:
-
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Input.js (Line 727)
addMoveCallback(callback, context)
Adds a callback that is fired every time the activePointer receives a DOM move event such as a mousemove or touchmove.
The callback will be sent 4 parameters:
A reference to the Phaser.Pointer object that moved,
The x position of the pointer,
The y position,
A boolean indicating if the movement was the result of a 'click' event (such as a mouse click or touch down).
It will be called every time the activePointer moves, which in a multi-touch game can be a lot of times, so this is best
to only use if you've limited input to a single pointer (i.e. mouse or touch).
The callback is added to the Phaser.Input.moveCallbacks array and should be removed with Phaser.Input.deleteMoveCallback.
Parameters
Name | Type | Description |
---|---|---|
callback |
function | The callback that will be called each time the activePointer receives a DOM move event. |
context |
object | The context in which the callback will be called. |
addPointer() → {Phaser.Pointer | null}
Add a new Pointer object to the Input Manager.
By default Input creates 3 pointer objects: mousePointer
(not include in part of general pointer pool), pointer1
and pointer2
.
This method adds an additional pointer, up to a maximum of Phaser.Input.MAX_POINTERS (default of 10).
Returns
The new Pointer object that was created; null if a new pointer could not be added.
<internal> boot()
Starts the Input Manager running.
deleteMoveCallback(callback, context)
Removes the callback from the Phaser.Input.moveCallbacks array.
Parameters
Name | Type | Description |
---|---|---|
callback |
function | The callback to be removed. |
context |
object | The context in which the callback exists. |
destroy()
Stops all of the Input Managers from running.
getLocalPosition(displayObject, pointer) → {Phaser.Point}
This will return the local coordinates of the specified displayObject based on the given Pointer.
Parameters
Name | Type | Description |
---|---|---|
displayObject |
Phaser.Sprite | Phaser.Image | The DisplayObject to get the local coordinates for. |
pointer |
Phaser.Pointer | The Pointer to use in the check against the displayObject. |
Returns
A point containing the coordinates of the Pointer position relative to the DisplayObject.
getPointer(isActive) → {Phaser.Pointer}
Get the first Pointer with the given active state.
Parameters
Name | Type | Argument | Default | Description |
---|---|---|---|---|
isActive |
boolean | <optional> |
false | The state the Pointer should be in - active or inactive? |
Returns
A Pointer object or null if no Pointer object matches the requested state.
getPointerFromId(pointerId) → {Phaser.Pointer}
Get the Pointer object whos pointerId
property matches the given value.
The pointerId property is not set until the Pointer has been used at least once, as its populated by the DOM event.
Also it can change every time you press the pointer down if the browser recycles it.
Parameters
Name | Type | Description |
---|---|---|
pointerId |
number | The |
Returns
A Pointer object or null if no Pointer object matches the requested identifier.
getPointerFromIdentifier(identifier) → {Phaser.Pointer}
Get the Pointer object whos identifier
property matches the given identifier value.
The identifier property is not set until the Pointer has been used at least once, as its populated by the DOM event.
Also it can change every time you press the pointer down, and is not fixed once set.
Note: Not all browsers set the identifier property and it's not part of the W3C spec, so you may need getPointerFromId instead.
Parameters
Name | Type | Description |
---|---|---|
identifier |
number | The Pointer.identifier value to search for. |
Returns
A Pointer object or null if no Pointer object matches the requested identifier.
hitTest(displayObject, pointer, localPoint)
Tests if the pointer hits the given object.
Parameters
Name | Type | Description |
---|---|---|
displayObject |
DisplayObject | The displayObject to test for a hit. |
pointer |
Phaser.Pointer | The pointer to use for the test. |
localPoint |
Phaser.Point | The local translated point. |
reset(hard)
Reset all of the Pointers and Input states.
The optional hard
parameter will reset any events or callbacks that may be bound.
Input.reset is called automatically during a State change or if a game loses focus / visibility.
To control control the reset manually set Phaser.InputManager.resetLocked to true
.
Parameters
Name | Type | Argument | Default | Description |
---|---|---|---|---|
hard |
boolean | <optional> |
false | A soft reset won't reset any events or callbacks that are bound. A hard reset will. |
resetSpeed(x, y)
Resets the speed and old position properties.
Parameters
Name | Type | Description |
---|---|---|
x |
number | Sets the oldPosition.x value. |
y |
number | Sets the oldPosition.y value. |
setInteractiveCandidateHandler(callback, context)
Adds a callback that is fired every time Pointer.processInteractiveObjects
is called.
The purpose of processInteractiveObjects
is to work out which Game Object the Pointer is going to
interact with. It works by polling all of the valid game objects, and then slowly discounting those
that don't meet the criteria (i.e. they aren't under the Pointer, are disabled, invisible, etc).
Eventually a short-list of 'candidates' is created. These are all of the Game Objects which are valid
for input and overlap with the Pointer. If you need fine-grained control over which of the items is
selected then you can use this callback to do so.
The callback will be sent 3 parameters:
1) A reference to the Phaser.Pointer object that is processing the Items.
2) An array containing all potential interactive candidates. This is an array of InputHandler
objects, not Sprites.
3) The current 'favorite' candidate, based on its priorityID and position in the display list.
Your callback MUST return one of the candidates sent to it.
Parameters
Name | Type | Description |
---|---|---|
callback |
function | The callback that will be called each time |
context |
object | The context in which the callback will be called. |
<internal> startPointer(event) → {Phaser.Pointer}
Find the first free Pointer object and start it, passing in the event data.
This is called automatically by Phaser.Touch and Phaser.MSPointer.
Parameters
Name | Type | Description |
---|---|---|
event |
any | The event data from the Touch event. |
Returns
The Pointer object that was started or null if no Pointer object is available.
<internal> stopPointer(event) → {Phaser.Pointer}
Stops the matching Pointer object, passing in the event data.
Parameters
Name | Type | Description |
---|---|---|
event |
any | The event data from the Touch event. |
Returns
The Pointer object that was stopped or null if no Pointer object is available.
<internal> update()
Updates the Input Manager. Called by the core Game loop.
<internal> updatePointer(event) → {Phaser.Pointer}
Updates the matching Pointer object, passing in the event data.
This is called automatically and should not normally need to be invoked.
Parameters
Name | Type | Description |
---|---|---|
event |
any | The event data from the Touch event. |
Returns
The Pointer object that was updated; null if no pointer was updated.
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Input.html