Class: Phaser.Pointer
Constructor
new Pointer(game, id, pointerMode)
A Pointer object is used by the Mouse, Touch and MSPoint managers and represents a single finger on the touch screen.
Parameters
Name | Type | Default | Description |
---|---|---|---|
game | Phaser.Game | A reference to the currently running game. | |
id | number | The ID of the Pointer object within the game. Each game can have up to 10 active pointers. | |
pointerMode | Phaser.PointerMode | (CURSOR | CONTACT) | The operational mode of this pointer, eg. CURSOR or TOUCH. |
- Source code: input/Pointer.js (Line 16)
Public Properties
- Source code: input/Pointer.js (Line 397)
- Source code: input/Pointer.js (Line 412)
- Source code: input/Pointer.js (Line 405)
- Source code: input/Pointer.js (Line 375)
- Source code: input/Pointer.js (Line 389)
- Source code: input/Pointer.js (Line 368)
- Source code: input/Pointer.js (Line 382)
- Source code: input/Pointer.js (Line 316)
- Source code: input/Pointer.js (Line 120)
- Source code: input/Pointer.js (Line 70)
- Source code: input/Pointer.js (Line 344)
- Source code: input/Pointer.js (Line 181)
- Source code: input/Pointer.js (Line 186)
- Source code: input/Pointer.js (Line 322)
- Source code: input/Pointer.js (Line 1192)
- Source code: input/Pointer.js (Line 146)
- Default Value
- true
- Source code: input/Pointer.js (Line 38)
- Source code: input/Pointer.js (Line 133)
- Source code: input/Pointer.js (Line 21)
- Source code: input/Pointer.js (Line 26)
- Source code: input/Pointer.js (Line 44)
- Default Value
- []
- Source code: input/Pointer.js (Line 310)
- Source code: input/Pointer.js (Line 255)
- Source code: input/Pointer.js (Line 247)
- Default Value
- true
- Source code: input/Pointer.js (Line 263)
- Source code: input/Pointer.js (Line 81)
- Source code: input/Pointer.js (Line 94)
- Source code: input/Pointer.js (Line 224)
- Source code: input/Pointer.js (Line 230)
- Source code: input/Pointer.js (Line 293)
- Source code: input/Pointer.js (Line 191)
- Source code: input/Pointer.js (Line 196)
- Source code: input/Pointer.js (Line 50)
- Source code: input/Pointer.js (Line 55)
- Source code: input/Pointer.js (Line 327)
- Source code: input/Pointer.js (Line 332)
- Source code: input/Pointer.js (Line 337)
- Source code: input/Pointer.js (Line 281)
- Source code: input/Pointer.js (Line 212)
- Source code: input/Pointer.js (Line 218)
- Source code: input/Pointer.js (Line 107)
- Source code: input/Pointer.js (Line 201)
- Source code: input/Pointer.js (Line 206)
- Source code: input/Pointer.js (Line 61)
- Source code: input/Pointer.js (Line 299)
- Source code: input/Pointer.js (Line 269)
- Source code: input/Pointer.js (Line 275)
- Source code: input/Pointer.js (Line 287)
- Source code: input/Pointer.js (Line 32)
- Source code: input/Pointer.js (Line 176)
- Source code: input/Pointer.js (Line 1216)
- Source code: input/Pointer.js (Line 1232)
- Source code: input/Pointer.js (Line 236)
- Source code: input/Pointer.js (Line 242)
[static] BACK_BUTTON : number
The X1 button. This is typically the mouse Back button, but is often reconfigured.
On Linux (GTK) this is unsupported. On Windows if advanced pointer software (such as IntelliPoint) is installed this doesn't register.
[static] ERASER_BUTTON : number
The Eraser pen button on PointerEvent supported devices only.
[static] FORWARD_BUTTON : number
The X2 button. This is typically the mouse Forward button, but is often reconfigured.
On Linux (GTK) this is unsupported. On Windows if advanced pointer software (such as IntelliPoint) is installed this doesn't register.
[static] LEFT_BUTTON : number
The Left Mouse button, or in PointerEvent devices a Touch contact or Pen contact.
[static] MIDDLE_BUTTON : number
The Middle Mouse button.
[static] NO_BUTTON : number
No buttons at all.
[static] RIGHT_BUTTON : number
The Right Mouse button, or in PointerEvent devices a Pen contact with a barrel button.
active : boolean
An active pointer is one that is currently pressed down on the display. A Mouse is always active.
backButton : Phaser.DeviceButton
If this Pointer is a Mouse or Pen / Stylus then you can access its X1 (back) button directly through this property.
The DeviceButton has its own properties such as isDown
, duration
and methods like justReleased
for more fine-grained
button control.
Please see the DeviceButton docs for details on browser button limitations.
button :any
The button property of the most recent DOM event when this Pointer is started.
You should not rely on this value for accurate button detection, instead use the Pointer propertiesleftButton
, rightButton
, middleButton
and so on.
circle : Phaser.Circle
A Phaser.Circle that is centered on the x/y coordinates of this pointer, useful for hit detection.
The Circle size is 44px (Apples recommended "finger tip" size).
clientX : number
The horizontal coordinate of the Pointer within the application's client area at which the event occurred (as opposed to the coordinates within the page).
clientY : number
The vertical coordinate of the Pointer within the application's client area at which the event occurred (as opposed to the coordinates within the page).
dirty : boolean
A dirty pointer needs to re-poll any interactive objects it may have been over, regardless if it has moved or not.
[readonly] duration : number
How long the Pointer has been depressed on the touchscreen or any of the mouse buttons have been held down.
If not currently down it returns -1.
If you need to test a specific mouse or pen button then access the buttons directly, i.e. Pointer.rightButton.duration
.
eraserButton : Phaser.DeviceButton
If this Pointer is a Pen / Stylus then you can access its eraser button directly through this property.
The DeviceButton has its own properties such as isDown
, duration
and methods like justReleased
for more fine-grained
button control.
Please see the DeviceButton docs for details on browser button limitations.
exists : boolean
A Pointer object that exists is allowed to be checked for physics collisions and overlaps.
forwardButton : Phaser.DeviceButton
If this Pointer is a Mouse or Pen / Stylus then you can access its X2 (forward) button directly through this property.
The DeviceButton has its own properties such as isDown
, duration
and methods like justReleased
for more fine-grained
button control.
Please see the DeviceButton docs for details on browser button limitations.
game : Phaser.Game
A reference to the currently running game.
id : number
The ID of the Pointer object within the game. Each game can have up to 10 active pointers.
identifier : number
The identifier property of the Pointer as set by the DOM event when this Pointer is started.
interactiveCandidates :array
This array is erased and re-populated every time this Pointer is updated. It contains references to all
of the Game Objects that were considered as being valid for processing by this Pointer, this frame. To be
valid they must have suitable a priorityID
, be Input enabled, visible and actually have the Pointer over
them. You can check the contents of this array in events such as onInputDown
, but beware it is reset
every frame.
isDown : boolean
If the Pointer is touching the touchscreen, or any mouse or pen button is held down, isDown is set to true.
If you need to check a specific mouse or pen button then use the button properties, i.e. Pointer.rightButton.isDown.
isMouse : boolean
If the Pointer is a mouse or pen / stylus this is true, otherwise false.
isUp : boolean
If the Pointer is not touching the touchscreen, or all mouse or pen buttons are up, isUp is set to true.
If you need to check a specific mouse or pen button then use the button properties, i.e. Pointer.rightButton.isUp.
leftButton : Phaser.DeviceButton
If this Pointer is a Mouse or Pen / Stylus then you can access its left button directly through this property.
The DeviceButton has its own properties such as isDown
, duration
and methods like justReleased
for more fine-grained
button control.
middleButton : Phaser.DeviceButton
If this Pointer is a Mouse or Pen / Stylus then you can access its middle button directly through this property.
The DeviceButton has its own properties such as isDown
, duration
and methods like justReleased
for more fine-grained
button control.
Please see the DeviceButton docs for details on browser button limitations.
movementX : number
The horizontal processed relative movement of the Pointer in pixels since last event.
movementY : number
The vertical processed relative movement of the Pointer in pixels since last event.
msSinceLastClick : number
The number of milliseconds since the last click or touch event.
pageX : number
The horizontal coordinate of the Pointer relative to whole document.
pageY : number
The vertical coordinate of the Pointer relative to whole document.
pointerId : number
The pointerId property of the Pointer as set by the DOM event when this Pointer is started. The browser can and will recycle this value.
pointerMode : Phaser.PointerMode
The operational mode of this pointer.
position : Phaser.Point
A Phaser.Point object containing the current x/y values of the pointer on the display.
positionDown : Phaser.Point
A Phaser.Point object containing the x/y values of the pointer when it was last in a down state on the display.
positionUp : Phaser.Point
A Phaser.Point object containing the x/y values of the pointer when it was last released.
previousTapTime : number
A timestamp representing when the Pointer was last tapped or clicked.
rawMovementX : number
The horizontal raw relative movement of the Pointer in pixels since last event.
rawMovementY : number
The vertical raw relative movement of the Pointer in pixels since last event.
rightButton : Phaser.DeviceButton
If this Pointer is a Mouse or Pen / Stylus then you can access its right button directly through this property.
The DeviceButton has its own properties such as isDown
, duration
and methods like justReleased
for more fine-grained
button control.
Please see the DeviceButton docs for details on browser button limitations.
screenX : number
The horizontal coordinate of the Pointer relative to the screen.
screenY : number
The vertical coordinate of the Pointer relative to the screen.
target :any
The target property of the Pointer as set by the DOM event when this Pointer is started.
targetObject :any
The Game Object this Pointer is currently over / touching / dragging.
timeDown : number
A timestamp representing when the Pointer first touched the touchscreen.
timeUp : number
A timestamp representing when the Pointer left the touchscreen.
totalTouches : number
The total number of times this Pointer has been touched to the touchscreen.
[readonly] type : number
The const type of this object.
withinGame : boolean
true if the Pointer is over the game canvas, otherwise false.
[readonly] worldX : number
Gets the X value of this Pointer in world coordinates based on the world camera.
[readonly] worldY : number
Gets the Y value of this Pointer in world coordinates based on the world camera.
x : number
The horizontal coordinate of the Pointer. This value is automatically scaled based on the game scale.
y : number
The vertical coordinate of the Pointer. This value is automatically scaled based on the game scale.
Public Methods
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Pointer.js (Line 1073)
- Source code: input/Pointer.js (Line 1041)
- Source code: input/Pointer.js (Line 1057)
- Source code: input/Pointer.js (Line 945)
- Source code: input/Pointer.js (Line 709)
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Pointer.js (Line 806)
- Source code: input/Pointer.js (Line 1147)
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Pointer.js (Line 416)
- Source code: input/Pointer.js (Line 1177)
- Source code: input/Pointer.js (Line 587)
- Source code: input/Pointer.js (Line 958)
- Source code: input/Pointer.js (Line 886)
- Source code: input/Pointer.js (Line 657)
- Internal:
- This member is internal (protected) and may be modified or removed in the future.
- Source code: input/Pointer.js (Line 527)
<internal> addClickTrampoline(name, callback, callbackContext, callbackArgs)
Add a click trampoline to this pointer.
A click trampoline is a callback that is run on the DOM 'click' event; this is primarily
needed with certain browsers (ie. IE11) which restrict some actions like requestFullscreen
to the DOM 'click' event and rejects it for 'pointer' and 'mouse' events.
This is used internally by the ScaleManager; click trampoline usage is uncommon.
Click trampolines can only be added to pointers that are currently down.
Parameters
Name | Type | Description |
---|---|---|
name | string | The name of the trampoline; must be unique among active trampolines in this pointer. |
callback | function | Callback to run/trampoline. |
callbackContext | object | Context of the callback. |
callbackArgs | Array.<object> | null | Additional callback args, if any. Supplied as an array. |
justPressed(duration) → {boolean}
The Pointer is considered justPressed if the time it was pressed onto the touchscreen or clicked is less than justPressedRate.
Note that calling justPressed doesn't reset the pressed status of the Pointer, it will return true
for as long as the duration is valid.
If you wish to check if the Pointer was pressed down just once then see the Sprite.events.onInputDown event.
Parameters
Name | Type | Argument | Description |
---|---|---|---|
duration | number | <optional> | The time to check against. If none given it will use InputManager.justPressedRate. |
Returns
true if the Pointer was pressed down within the duration given.
justReleased(duration) → {boolean}
The Pointer is considered justReleased if the time it left the touchscreen is less than justReleasedRate.
Note that calling justReleased doesn't reset the pressed status of the Pointer, it will return true
for as long as the duration is valid.
If you wish to check if the Pointer was released just once then see the Sprite.events.onInputUp event.
Parameters
Name | Type | Argument | Description |
---|---|---|---|
duration | number | <optional> | The time to check against. If none given it will use InputManager.justReleasedRate. |
Returns
true if the Pointer was released within the duration given.
leave(event)
Called when the Pointer leaves the target area.
Parameters
Name | Type | Description |
---|---|---|
event | MouseEvent | PointerEvent | TouchEvent | The event passed up from the input handler. |
move(event, fromClick)
Called when the Pointer is moved.
Parameters
Name | Type | Argument | Default | Description |
---|---|---|---|---|
event | MouseEvent | PointerEvent | TouchEvent | The event passed up from the input handler. | ||
fromClick | boolean | <optional> | false | Was this called from the click event? |
<internal> processInteractiveObjects(fromClick) → {boolean}
Process all interactive objects to find out which ones were updated in the recent Pointer move.
Parameters
Name | Type | Argument | Default | Description |
---|---|---|---|---|
fromClick | boolean | <optional> | false | Was this called from the click event? |
Returns
True if this method processes an object (i.e. a Sprite becomes the Pointers currentTarget), otherwise false.
reset()
Resets the Pointer properties. Called by InputManager.reset when you perform a State change.
<internal> resetButtons()
Resets the states of all the button booleans.
resetMovement()
Resets the movementX and movementY properties. Use in your update handler after retrieving the values.
start(event)
Called when the Pointer is pressed onto the touchscreen.
Parameters
Name | Type | Description |
---|---|---|
event | any | The DOM event from the browser. |
stop(event)
Called when the Pointer leaves the touchscreen.
Parameters
Name | Type | Description |
---|---|---|
event | MouseEvent | PointerEvent | TouchEvent | The event passed up from the input handler. |
swapTarget(newTarget, silent)
This will change the Pointer.targetObject
object to be the one provided.
This allows you to have fine-grained control over which object the Pointer is targeting.
Note that even if you set a new Target here, it is still able to be replaced by any other valid
target during the next Pointer update.
Parameters
Name | Type | Argument | Default | Description |
---|---|---|---|---|
newTarget | Phaser.InputHandler | The new target for this Pointer. Note this is an | ||
silent | boolean | <optional> | false | If true the new target AND the old one will NOT dispatch their |
update()
Called by the Input Manager.
<internal> updateButtons(event)
Called when the event.buttons property changes from zero.
Contains a button bitmask.
Parameters
Name | Type | Description |
---|---|---|
event | MouseEvent | The DOM event. |
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Pointer.html