new InputPlugin(scene)
Parameters:
Name | Type | Description |
---|---|---|
scene |
Phaser.Scene | A reference to the Scene that this Input Plugin is responsible for. |
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 29)
Extends
Members
-
<readonly> activePointer :Phaser.Input.Pointer
-
The current active input Pointer.
Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2975)
-
cameras :Phaser.Cameras.Scene2D.CameraManager
-
A reference to the Scene Cameras Manager. This property is set during the
boot
method.Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 149)
-
displayList :Phaser.GameObjects.DisplayList
-
A reference to the Scene Display List. This property is set during the
boot
method.Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 140)
-
dragDistanceThreshold :number
-
The distance, in pixels, a pointer has to move while being held down, before it thinks it is being dragged.
Type:
- number
- Since: 3.0.0
- Default Value:
-
- 0
- Source: src/input/InputPlugin.js (Line 247)
-
dragTimeThreshold :number
-
The amount of time, in ms, a pointer has to be held down before it thinks it is dragging.
The default polling rate is to poll only on move so once the time threshold is reached the drag event will not start until you move the mouse. If you want it to start immediately when the time threshold is reached, you must increase the polling rate by calling
setPollAlways
orsetPollRate
.Type:
- number
- Since: 3.0.0
- Default Value:
-
- 0
- Source: src/input/InputPlugin.js (Line 257)
-
enabled :boolean
-
If
true
this Input Plugin will process DOM input events.Type:
- boolean
- Since: 3.5.0
- Default Value:
-
- true
- Source: src/input/InputPlugin.js (Line 130)
-
<nullable> gamepad :Phaser.Input.Gamepad.GamepadPlugin
-
An instance of the Gamepad Plugin class, if enabled via the
input.gamepad
Scene or Game Config property. Use this to create access Gamepads connected to the browser and respond to gamepad buttons.Type:
- Since: 3.10.0
- Source: src/input/gamepad/GamepadPlugin.js (Line 630)
-
<readonly> isOver :boolean
-
Are any mouse or touch pointers currently over the game canvas?
Type:
- boolean
- Since: 3.16.0
- Source: src/input/InputPlugin.js (Line 2939)
-
<nullable> keyboard :Phaser.Input.Keyboard.KeyboardPlugin
-
An instance of the Keyboard Plugin class, if enabled via the
input.keyboard
Scene or Game Config property. Use this to create Key objects and listen for keyboard specific events.Type:
- Since: 3.10.0
- Source: src/input/keyboard/KeyboardPlugin.js (Line 930)
-
manager :Phaser.Input.InputManager
-
A reference to the Game Input Manager.
Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 111)
-
<nullable> mouse :Phaser.Input.Mouse.MouseManager
-
A reference to the Mouse Manager.
This property is only set if Mouse support has been enabled in your Game Configuration file.
If you just wish to get access to the mouse pointer, use the
mousePointer
property instead.Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 161)
-
<readonly> 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/InputPlugin.js (Line 2956)
-
<readonly> pointer1 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 2992)
-
<readonly> pointer2 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3010)
-
<readonly> pointer3 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3028)
-
<readonly> pointer4 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3046)
-
<readonly> pointer5 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3064)
-
<readonly> pointer6 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3082)
-
<readonly> pointer7 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3100)
-
<readonly> pointer8 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3118)
-
<readonly> pointer9 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3136)
-
<readonly> pointer10 :Phaser.Input.Pointer
-
A touch-based Pointer object. This will be
undefined
by default unless you add a new Pointer usingaddPointer
.Type:
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 3154)
-
pollRate :number
-
How often should the Pointers be checked?
The value is a time, given in ms, and is the time that must have elapsed between game steps before the Pointers will be polled again. When a pointer is polled it runs a hit test to see which Game Objects are currently below it, or being interacted with it.
Pointers will always be checked if they have been moved by the user, or press or released.
This property only controls how often they will be polled if they have not been updated. You should set this if you want to have Game Objects constantly check against the pointers, even if the pointer didn't itself move.
Set to 0 to poll constantly. Set to -1 to only poll on user movement.
Type:
- number
- Since: 3.0.0
- Default Value:
-
- -1
- Source: src/input/InputPlugin.js (Line 187)
-
scene :Phaser.Scene
-
A reference to the Scene that this Input Plugin is responsible for.
Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 84)
-
settings :Phaser.Types.Scenes.SettingsObject
-
A reference to the Scene Systems Settings.
Type:
- Since: 3.5.0
- Source: src/input/InputPlugin.js (Line 102)
-
systems :Phaser.Scenes.Systems
-
A reference to the Scene Systems class.
Type:
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 93)
-
topOnly :boolean
-
When set to
true
(the default) the Input Plugin will emulate DOM behavior by only emitting events from the top-most Game Objects in the Display List.If set to
false
it will emit events from all Game Objects below a Pointer, not just the top one.Type:
- boolean
- Since: 3.0.0
- Default Value:
-
- true
- Source: src/input/InputPlugin.js (Line 174)
-
<readonly> x :number
-
The x coordinates of the ActivePointer based on the first camera in the camera list. This is only safe to use if your game has just 1 non-transformed camera and doesn't use multi-touch.
Type:
- number
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2903)
-
<readonly> y :number
-
The y coordinates of the ActivePointer based on the first camera in the camera list. This is only safe to use if your game has just 1 non-transformed camera and doesn't use multi-touch.
Type:
- number
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2921)
Methods
-
addListener(event, fn [, context])
-
Add a listener for a given event.
Parameters:
Name Type Argument Default Description event
string | symbol The event name.
fn
function The listener function.
context
* <optional>
this The context to invoke the listener with.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 111)
Returns:
this
. -
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/InputPlugin.js (Line 2734)
Returns:
An array containing all of the new Pointer objects that were created.
- Type
- Array.<Phaser.Input.Pointer>
-
clear(gameObject [, skipQueue])
-
Clears a Game Object so it no longer has an Interactive Object associated with it. The Game Object is then queued for removal from the Input Plugin on the next update.
Parameters:
Name Type Argument Default Description gameObject
Phaser.GameObjects.GameObject The Game Object that will have its Interactive Object removed.
skipQueue
boolean <optional>
false Skip adding this Game Object into the removal queue?
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 764)
Returns:
The Game Object that had its Interactive Object removed.
-
disable(gameObject)
-
Disables Input on a single Game Object.
An input disabled Game Object still retains its Interactive Object component and can be re-enabled at any time, by passing it to
InputPlugin.enable
.Parameters:
Name Type Description gameObject
Phaser.GameObjects.GameObject The Game Object to have its input system disabled.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 828)
-
emit(event [, args])
-
Calls each of the listeners registered for a given event.
Parameters:
Name Type Argument Description event
string | symbol The event name.
args
* <optional>
<repeatable>
Additional arguments that will be passed to the event handler.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 86)
Returns:
true
if the event had listeners, elsefalse
.- Type
- boolean
-
enable(gameObject [, hitArea] [, hitAreaCallback] [, dropZone])
-
Enable a Game Object for interaction.
If the Game Object already has an Interactive Object component, it is enabled and returned.
Otherwise, a new Interactive Object component is created and assigned to the Game Object's
input
property.Input works by using hit areas, these are nearly always geometric shapes, such as rectangles or circles, that act as the hit area for the Game Object. However, you can provide your own hit area shape and callback, should you wish to handle some more advanced input detection.
If no arguments are provided it will try and create a rectangle hit area based on the texture frame the Game Object is using. If this isn't a texture-bound object, such as a Graphics or BitmapText object, this will fail, and you'll need to provide a specific shape for it to use.
You can also provide an Input Configuration Object as the only argument to this method.
Parameters:
Name Type Argument Default Description gameObject
Phaser.GameObjects.GameObject The Game Object to be enabled for input.
hitArea
Phaser.Types.Input.InputConfiguration | any <optional>
Either an input configuration object, or a geometric shape that defines the hit area for the Game Object. If not specified a Rectangle will be used.
hitAreaCallback
Phaser.Types.Input.HitAreaCallback <optional>
The 'contains' function to invoke to check if the pointer is within the hit area.
dropZone
boolean <optional>
false Is this Game Object a drop zone or not?
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 844)
Returns:
This Input Plugin.
-
enableDebug(gameObject [, color])
-
Creates an Input Debug Shape for the given Game Object.
The Game Object must have already been enabled for input prior to calling this method.
This is intended to assist you during development and debugging.
Debug Shapes can only be created for Game Objects that are using standard Phaser Geometry for input, including: Circle, Ellipse, Line, Polygon, Rectangle and Triangle.
Game Objects that are using their automatic hit areas are using Rectangles by default, so will also work.
The Debug Shape is created and added to the display list and is then kept in sync with the Game Object it is connected with. Should you need to modify it yourself, such as to hide it, you can access it via the Game Object property:
GameObject.input.hitAreaDebug
.Calling this method on a Game Object that already has a Debug Shape will first destroy the old shape, before creating a new one. If you wish to remove the Debug Shape entirely, you should call the method
InputPlugin.removeDebug
.Note that the debug shape will only show the outline of the input area. If the input test is using a pixel perfect check, for example, then this is not displayed. If you are using a custom shape, that doesn't extend one of the base Phaser Geometry objects, as your hit area, then this method will not work.
Parameters:
Name Type Argument Default Description gameObject
Phaser.GameObjects.GameObject The Game Object to create the input debug shape for.
color
number <optional>
0x00ff00 The outline color of the debug shape.
- Since: 3.19.0
- Source: src/input/InputPlugin.js (Line 2366)
Returns:
This Input Plugin.
-
eventNames()
-
Return an array listing the events for which the emitter has registered listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 55)
Returns:
- Type
- Array.<(string|symbol)>
-
getDragState(pointer)
-
Returns the drag state of the given Pointer for this Input Plugin.
The state will be one of the following:
0 = Not dragging anything 1 = Primary button down and objects below, so collect a draglist 2 = Pointer being checked if meets drag criteria 3 = Pointer meets criteria, notify the draglist 4 = Pointer actively dragging the draglist and has moved 5 = Pointer actively dragging but has been released, notify draglist
Parameters:
Name Type Description pointer
Phaser.Input.Pointer The Pointer to get the drag state for.
- Since: 3.16.0
- Source: src/input/InputPlugin.js (Line 1019)
Returns:
The drag state of the given Pointer.
- Type
- number
-
hitTestPointer(pointer)
-
Takes the given Pointer and performs a hit test against it, to see which interactive Game Objects it is currently above.
The hit test is performed against which-ever Camera the Pointer is over. If it is over multiple cameras, it starts checking the camera at the top of the camera list, and if nothing is found, iterates down the list.
Parameters:
Name Type Description pointer
Phaser.Input.Pointer The Pointer to check against the Game Objects.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 894)
Returns:
An array of all the interactive Game Objects the Pointer was above.
- Type
- Array.<Phaser.GameObjects.GameObject>
-
isActive()
-
Checks to see if both this plugin and the Scene to which it belongs is active.
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 529)
Returns:
true
if the plugin and the Scene it belongs to is active.- Type
- boolean
-
listenerCount(event)
-
Return the number of listeners listening to a given event.
Parameters:
Name Type Description event
string | symbol The event name.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 75)
Returns:
The number of listeners.
- Type
- number
-
listeners(event)
-
Return the listeners registered for a given event.
Parameters:
Name Type Description event
string | symbol The event name.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 64)
Returns:
The registered listeners.
- Type
- Array.<function()>
-
makePixelPerfect( [alphaTolerance])
-
Creates a function that can be passed to
setInteractive
,enable
orsetHitArea
that will handle pixel-perfect input detection on an Image or Sprite based Game Object, or any custom class that extends them.The following will create a sprite that is clickable on any pixel that has an alpha value >= 1.
this.add.sprite(x, y, key).setInteractive(this.input.makePixelPerfect());
The following will create a sprite that is clickable on any pixel that has an alpha value >= 150.
this.add.sprite(x, y, key).setInteractive(this.input.makePixelPerfect(150));
Once you have made an Interactive Object pixel perfect it impacts all input related events for it: down, up, dragstart, drag, etc.
As a pointer interacts with the Game Object it will constantly poll the texture, extracting a single pixel from the given coordinates and checking its color values. This is an expensive process, so should only be enabled on Game Objects that really need it.
You cannot make non-texture based Game Objects pixel perfect. So this will not work on Graphics, BitmapText, Render Textures, Text, Tilemaps, Containers or Particles.
Parameters:
Name Type Argument Default Description alphaTolerance
number <optional>
1 The alpha level that the pixel should be above to be included as a successful interaction.
- Since: 3.10.0
- Source: src/input/InputPlugin.js (Line 2061)
Returns:
A Pixel Perfect Handler for use as a hitArea shape callback.
- Type
- function
-
off(event [, fn] [, context] [, once])
-
Remove the listeners of a given event.
Parameters:
Name Type Argument Description event
string | symbol The event name.
fn
function <optional>
Only remove the listeners that match this function.
context
* <optional>
Only remove the listeners that have this context.
once
boolean <optional>
Only remove one-time listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 151)
Returns:
this
. -
on(event, fn [, context])
-
Add a listener for a given event.
Parameters:
Name Type Argument Default Description event
string | symbol The event name.
fn
function The listener function.
context
* <optional>
this The context to invoke the listener with.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 98)
Returns:
this
. -
once(event, fn [, context])
-
Add a one-time listener for a given event.
Parameters:
Name Type Argument Default Description event
string | symbol The event name.
fn
function The listener function.
context
* <optional>
this The context to invoke the listener with.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 124)
Returns:
this
. -
removeAllListeners( [event])
-
Remove all listeners, or those of the specified event.
Parameters:
Name Type Argument Description event
string | symbol <optional>
The event name.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 165)
Returns:
this
. -
removeDebug(gameObject)
-
Removes an Input Debug Shape from the given Game Object.
The shape is destroyed immediately and the
hitAreaDebug
property is set tonull
.Parameters:
Name Type Description gameObject
Phaser.GameObjects.GameObject The Game Object to remove the input debug shape from.
- Since: 3.19.0
- Source: src/input/InputPlugin.js (Line 2502)
Returns:
This Input Plugin.
-
removeListener(event [, fn] [, context] [, once])
-
Remove the listeners of a given event.
Parameters:
Name Type Argument Description event
string | symbol The event name.
fn
function <optional>
Only remove the listeners that match this function.
context
* <optional>
Only remove the listeners that have this context.
once
boolean <optional>
Only remove one-time listeners.
- Since: 3.0.0
- Inherited From:
- Source: src/events/EventEmitter.js (Line 137)
Returns:
this
. -
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/InputPlugin.js (Line 2757)
Returns:
This Input instance.
-
setDraggable(gameObjects [, value])
-
Sets the draggable state of the given array of Game Objects.
They can either be set to be draggable, or can have their draggable state removed by passing
false
.A Game Object will not fire drag events unless it has been specifically enabled for drag.
Parameters:
Name Type Argument Default Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to change the draggable state on.
value
boolean <optional>
true Set to
true
if the Game Objects should be made draggable,false
if they should be unset.- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2016)
Returns:
This InputPlugin object.
-
setDragState(pointer, state)
-
Sets the drag state of the given Pointer for this Input Plugin.
The state must be one of the following values:
0 = Not dragging anything 1 = Primary button down and objects below, so collect a draglist 2 = Pointer being checked if meets drag criteria 3 = Pointer meets criteria, notify the draglist 4 = Pointer actively dragging the draglist and has moved 5 = Pointer actively dragging but has been released, notify draglist
Parameters:
Name Type Description pointer
Phaser.Input.Pointer The Pointer to set the drag state for.
state
number The drag state value. An integer between 0 and 5.
- Since: 3.16.0
- Source: src/input/InputPlugin.js (Line 1043)
-
setGlobalTopOnly(value)
-
When set to
true
the global Input Manager will emulate DOM behavior by only emitting events from the top-most Scene in the Scene List. By default, if a Scene receives an input event it will then stop the event from flowing down to any Scenes below it in the Scene list. To disable this behavior call this method withfalse
.Parameters:
Name Type Description value
boolean Set to
true
to stop processing input events on the Scene that receives it, orfalse
to let the event continue down the Scene list.- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2587)
Returns:
This InputPlugin object.
-
setHitArea(gameObjects [, hitArea] [, hitAreaCallback])
-
Sets the hit area for the given array of Game Objects.
A hit area is typically one of the geometric shapes Phaser provides, such as a
Phaser.Geom.Rectangle
orPhaser.Geom.Circle
. However, it can be any object as long as it works with the provided callback.If no hit area is provided a Rectangle is created based on the size of the Game Object, if possible to calculate.
The hit area callback is the function that takes an
x
andy
coordinate and returns a boolean if those values fall within the area of the shape or not. All of the Phaser geometry objects provide this, such asPhaser.Geom.Rectangle.Contains
.Parameters:
Name Type Argument Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to set the hit area on.
hitArea
Phaser.Types.Input.InputConfiguration | any <optional>
Either an input configuration object, or a geometric shape that defines the hit area for the Game Object. If not specified a Rectangle will be used.
hitAreaCallback
Phaser.Types.Input.HitAreaCallback <optional>
The 'contains' function to invoke to check if the pointer is within the hit area.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2103)
Returns:
This InputPlugin object.
-
setHitAreaCircle(gameObjects, x, y, radius [, callback])
-
Sets the hit area for an array of Game Objects to be a
Phaser.Geom.Circle
shape, using the given coordinates and radius to control its position and size.Parameters:
Name Type Argument Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to set as having a circle hit area.
x
number The center of the circle.
y
number The center of the circle.
radius
number The radius of the circle.
callback
Phaser.Types.Input.HitAreaCallback <optional>
The hit area callback. If undefined it uses Circle.Contains.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2207)
Returns:
This InputPlugin object.
-
setHitAreaEllipse(gameObjects, x, y, width, height [, callback])
-
Sets the hit area for an array of Game Objects to be a
Phaser.Geom.Ellipse
shape, using the given coordinates and dimensions to control its position and size.Parameters:
Name Type Argument Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to set as having an ellipse hit area.
x
number The center of the ellipse.
y
number The center of the ellipse.
width
number The width of the ellipse.
height
number The height of the ellipse.
callback
Phaser.Types.Input.HitAreaCallback <optional>
The hit area callback. If undefined it uses Ellipse.Contains.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2231)
Returns:
This InputPlugin object.
-
setHitAreaFromTexture(gameObjects [, callback])
-
Sets the hit area for an array of Game Objects to be a
Phaser.Geom.Rectangle
shape, using the Game Objects texture frame to define the position and size of the hit area.Parameters:
Name Type Argument Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to set as having an ellipse hit area.
callback
Phaser.Types.Input.HitAreaCallback <optional>
The hit area callback. If undefined it uses Rectangle.Contains.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2256)
Returns:
This InputPlugin object.
-
setHitAreaRectangle(gameObjects, x, y, width, height [, callback])
-
Sets the hit area for an array of Game Objects to be a
Phaser.Geom.Rectangle
shape, using the given coordinates and dimensions to control its position and size.Parameters:
Name Type Argument Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to set as having a rectangular hit area.
x
number The top-left of the rectangle.
y
number The top-left of the rectangle.
width
number The width of the rectangle.
height
number The height of the rectangle.
callback
Phaser.Types.Input.HitAreaCallback <optional>
The hit area callback. If undefined it uses Rectangle.Contains.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2314)
Returns:
This InputPlugin object.
-
setHitAreaTriangle(gameObjects, x1, y1, x2, y2, x3, y3 [, callback])
-
Sets the hit area for an array of Game Objects to be a
Phaser.Geom.Triangle
shape, using the given coordinates to control the position of its points.Parameters:
Name Type Argument Description gameObjects
Phaser.GameObjects.GameObject | Array.<Phaser.GameObjects.GameObject> An array of Game Objects to set as having a triangular hit area.
x1
number The x coordinate of the first point of the triangle.
y1
number The y coordinate of the first point of the triangle.
x2
number The x coordinate of the second point of the triangle.
y2
number The y coordinate of the second point of the triangle.
x3
number The x coordinate of the third point of the triangle.
y3
number The y coordinate of the third point of the triangle.
callback
Phaser.Types.Input.HitAreaCallback <optional>
The hit area callback. If undefined it uses Triangle.Contains.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2339)
Returns:
This InputPlugin object.
-
setPollAlways()
-
Sets the Pointers to always poll.
When a pointer is polled it runs a hit test to see which Game Objects are currently below it, or being interacted with it, regardless if the Pointer has actually moved or not.
You should enable this if you want objects in your game to fire over / out events, and the objects are constantly moving, but the pointer may not have. Polling every frame has additional computation costs, especially if there are a large number of interactive objects in your game.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2532)
Returns:
This InputPlugin object.
-
setPollOnMove()
-
Sets the Pointers to only poll when they are moved or updated.
When a pointer is polled it runs a hit test to see which Game Objects are currently below it, or being interacted with it.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2552)
Returns:
This InputPlugin object.
-
setPollRate(value)
-
Sets the poll rate value. This is the amount of time that should have elapsed before a pointer will be polled again. See the
setPollAlways
andsetPollOnMove
methods.Parameters:
Name Type Description value
number The amount of time, in ms, that should elapsed before re-polling the pointers.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2568)
Returns:
This InputPlugin object.
-
setTopOnly(value)
-
When set to
true
this Input Plugin will emulate DOM behavior by only emitting events from the top-most Game Objects in the Display List.If set to
false
it will emit events from all Game Objects below a Pointer, not just the top one.Parameters:
Name Type Description value
boolean true
to only include the top-most Game Object, orfalse
to include all Game Objects in a hit test.- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2606)
Returns:
This InputPlugin object.
-
sortGameObjects(gameObjects)
-
Given an array of Game Objects, sort the array and return it, so that the objects are in depth index order with the lowest at the bottom.
Parameters:
Name Type Description gameObjects
Array.<Phaser.GameObjects.GameObject> An array of Game Objects to be sorted.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2626)
Returns:
The sorted array of Game Objects.
- Type
- Array.<Phaser.GameObjects.GameObject>
-
stopPropagation()
-
This method should be called from within an input event handler, such as
pointerdown
.When called, it stops the Input Manager from allowing this specific event to be processed by any other Scene not yet handled in the scene list.
- Since: 3.0.0
- Source: src/input/InputPlugin.js (Line 2716)
Returns:
This InputPlugin object.
-
updatePoll(time, delta)
-
This is called automatically by the Input Manager. It emits events for plugins to listen to and also handles polling updates, if enabled.
Parameters:
Name Type Description time
number The current time. Either a High Resolution Timer value if it comes from Request Animation Frame, or Date.now if using SetTimeout.
delta
number The delta time in ms since the last frame. This is a smoothed and capped value based on the FPS rate.
- Since: 3.18.0
- Source: src/input/InputPlugin.js (Line 542)
Returns:
true
if the plugin and the Scene it belongs to is active.- Type
- boolean