new InputManager(game, config)
Parameters:
Name | Type | Description |
---|---|---|
game |
Phaser.Game | The Game instance that owns the Input Manager. |
config |
object | The Input Configuration object, as set in the Game Config. |
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 19)
Members
-
activePointer :Phaser.Input.Pointer
-
The most recently active Pointer object.
If you've only 1 Pointer in your game then this will accurately be either the first finger touched, or the mouse.
If your game doesn't need to support multi-touch then you can safely use this property in all of your game code and it will adapt to be either the mouse or the touch, based on device.
Type:
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 205)
-
canvas :HTMLCanvasElement
-
The Canvas that is used for all DOM event input listeners.
Type:
- HTMLCanvasElement
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 68)
-
config :Phaser.Core.Config
-
The Game Configuration object, as set during the game boot.
Type:
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 77)
-
defaultCursor :string
-
The default CSS cursor to be used when interacting with your game.
See the
setDefaultCursor
method for more details.Type:
- string
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 116)
-
enabled :boolean
-
If set, the Input Manager will run its update loop every frame.
Type:
- boolean
- Since: 3.0.0
- Default Value:
-
- true
- Source: src/input/InputManager.js (Line 86)
-
events :Phaser.Events.EventEmitter
-
The Event Emitter instance that the Input Manager uses to emit events from.
Type:
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 96)
-
<readonly> game :Phaser.Game
-
The Game instance that owns the Input Manager. A Game only maintains on instance of the Input Manager at any time.
Type:
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 47)
-
globalTopOnly :boolean
-
If the top-most Scene in the Scene List receives an input it will stop input from propagating any lower down the scene list, i.e. if you have a UI Scene at the top and click something on it, that click will not then be passed down to any other Scene below. Disable this to have input events passed through all Scenes, all the time.
Type:
- boolean
- Since: 3.0.0
- Default Value:
-
- true
- Source: src/input/InputManager.js (Line 219)
-
<readonly> isOver :boolean
-
Are any mouse or touch pointers currently over the game canvas? This is updated automatically by the canvas over and out handlers.
Type:
- boolean
- Since: 3.16.0
- Source: src/input/InputManager.js (Line 105)
-
<nullable> keyboard :Phaser.Input.Keyboard.KeyboardManager
-
A reference to the Keyboard Manager class, if enabled via the
input.keyboard
Game Config property.Type:
- Since: 3.16.0
- Source: src/input/InputManager.js (Line 127)
-
<nullable> mouse :Phaser.Input.Mouse.MouseManager
-
A reference to the Mouse Manager class, if enabled via the
input.mouse
Game Config property.Type:
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 136)
-
<nullable> mousePointer :Phaser.Input.Pointer
-
The mouse has its own unique Pointer object, which you can reference directly if making a desktop specific game. If you are supporting both desktop and touch devices then do not use this property, instead use
activePointer
which will always map to the most recently interacted pointer.Type:
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 194)
-
pointers :Array.<Phaser.Input.Pointer>
-
An array of Pointers that have been added to the game. The first entry is reserved for the Mouse Pointer, the rest are Touch Pointers.
By default there is 1 touch pointer enabled. If you need more use the
addPointer
method to start them, or set theinput.activePointers
property in the Game Config.Type:
- Array.<Phaser.Input.Pointer>
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 154)
-
<readonly> pointersTotal :number
-
The number of touch objects activated and being processed each update.
You can change this by either calling
addPointer
at run-time, or by setting theinput.activePointers
property in the Game Config.Type:
- number
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 167)
-
scaleManager :Phaser.Scale.ScaleManager
-
A reference to the global Game Scale Manager. Used for all bounds checks and pointer scaling.
Type:
- Since: 3.16.0
- Source: src/input/InputManager.js (Line 58)
-
<readonly> time :number
-
The time this Input Manager was last updated. This value is populated by the Game Step each frame.
Type:
- number
- Since: 3.16.2
- Source: src/input/InputManager.js (Line 232)
-
touch :Phaser.Input.Touch.TouchManager
-
A reference to the Touch Manager class, if enabled via the
input.touch
Game Config property.Type:
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 145)
Methods
-
addPointer( [quantity])
-
Adds new Pointer objects to the Input Manager.
By default Phaser creates 2 pointer objects:
mousePointer
andpointer1
.You can create more either by calling this method, or by setting the
input.activePointers
property in the Game Config, up to a maximum of 10 pointers.The first 10 pointers are available via the
InputPlugin.pointerX
properties, once they have been added via this method.Parameters:
Name Type Argument Default Description quantity
number <optional>
1 The number of new Pointers to create. A maximum of 10 is allowed in total.
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 467)
Returns:
An array containing all of the new Pointer objects that were created.
- Type
- Array.<Phaser.Input.Pointer>
-
<protected> boot()
-
The Boot handler is called by Phaser.Game when it first starts up. The renderer is available by now.
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 307)
Fires:
-
destroy()
-
Destroys the Input Manager and all of its systems.
There is no way to recover from doing this.
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 1043)
-
hitTest(pointer, gameObjects, camera [, output])
-
Performs a hit test using the given Pointer and camera, against an array of interactive Game Objects.
The Game Objects are culled against the camera, and then the coordinates are translated into the local camera space and used to determine if they fall within the remaining Game Objects hit areas or not.
If nothing is matched an empty array is returned.
This method is called automatically by InputPlugin.hitTestPointer and doesn't usually need to be invoked directly.
Parameters:
Name Type Argument Description pointer
Phaser.Input.Pointer The Pointer to test against.
gameObjects
array An array of interactive Game Objects to check.
camera
Phaser.Cameras.Scene2D.Camera The Camera which is being tested against.
output
array <optional>
An array to store the results in. If not given, a new empty array is created.
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 854)
Returns:
An array of the Game Objects that were hit during this hit test.
- Type
- array
-
pointWithinHitArea(gameObject, x, y)
-
Checks if the given x and y coordinate are within the hit area of the Game Object.
This method assumes that the coordinate values have already been translated into the space of the Game Object.
If the coordinates are within the hit area they are set into the Game Objects Input
localX
andlocalY
properties.Parameters:
Name Type Description gameObject
Phaser.GameObjects.GameObject The interactive Game Object to check against.
x
number The translated x coordinate for the hit test.
y
number The translated y coordinate for the hit test.
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 933)
Returns:
true
if the coordinates were inside the Game Objects hit area, otherwisefalse
.- Type
- boolean
-
pointWithinInteractiveObject(object, x, y)
-
Checks if the given x and y coordinate are within the hit area of the Interactive Object.
This method assumes that the coordinate values have already been translated into the space of the Interactive Object.
If the coordinates are within the hit area they are set into the Interactive Objects Input
localX
andlocalY
properties.Parameters:
Name Type Description object
Phaser.Types.Input.InteractiveObject The Interactive Object to check against.
x
number The translated x coordinate for the hit test.
y
number The translated y coordinate for the hit test.
- Since: 3.0.0
- Source: src/input/InputManager.js (Line 970)
Returns:
true
if the coordinates were inside the Game Objects hit area, otherwisefalse
.- Type
- boolean
-
setDefaultCursor(cursor)
-
Tells the Input system to set a custom cursor.
This cursor will be the default cursor used when interacting with the game canvas.
If an Interactive Object also sets a custom cursor, this is the cursor that is reset after its use.
Any valid CSS cursor value is allowed, including paths to image files, i.e.:
this.input.setDefaultCursor('url(assets/cursors/sword.cur), pointer');
Please read about the differences between browsers when it comes to the file formats and sizes they support:
https://developer.mozilla.org/en-US/docs/Web/CSS/cursor https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_User_Interface/Using_URL_values_for_the_cursor_property
It's up to you to pick a suitable cursor format that works across the range of browsers you need to support.
Parameters:
Name Type Description cursor
string The CSS to be used when setting the default cursor.
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 392)
-
transformPointer(pointer, pageX, pageY, wasMove)
-
Transforms the pageX and pageY values of a Pointer into the scaled coordinate space of the Input Manager.
Parameters:
Name Type Description pointer
Phaser.Input.Pointer The Pointer to transform the values for.
pageX
number The Page X value.
pageY
number The Page Y value.
wasMove
boolean Are we transforming the Pointer from a move event, or an up / down event?
- Since: 3.10.0
- Source: src/input/InputManager.js (Line 1003)
-
updateInputPlugins(type, pointers)
-
Internal method that gets a list of all the active Input Plugins in the game and updates each of them in turn, in reverse order (top to bottom), to allow for DOM top-level event handling simulation.
Parameters:
Name Type Description type
number The type of event to process.
pointers
Array.<Phaser.Input.Pointer> An array of Pointers on which the event occurred.
- Since: 3.16.0
- Source: src/input/InputManager.js (Line 514)