Class: MouseManager

Phaser.Input.Mouse. MouseManager

The Mouse Manager is a helper class that belongs to the Input Manager.

Its role is to listen for native DOM Mouse Events and then pass them onto the Input Manager for further processing.

You do not need to create this class directly, the Input Manager will create an instance of it automatically.


new MouseManager(inputManager)

Parameters:
Name Type Description
inputManager Phaser.Input.InputManager

A reference to the Input Manager.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 15)

Members


enabled :boolean

A boolean that controls if the Mouse Manager is enabled or not. Can be toggled on the fly.

Type:
  • boolean
Since: 3.0.0
Default Value:
  • false
Source: src/input/mouse/MouseManager.js (Line 85)

<readonly> isTop :boolean

Are the event listeners hooked into window.top or window?

This is set during the boot sequence. If the browser does not have access to window.top, such as in cross-origin iframe environments, this property gets set to false and the events are hooked into window instead.

Type:
  • boolean
Since: 3.50.0
Source: src/input/mouse/MouseManager.js (Line 215)

locked :boolean

If the mouse has been pointer locked successfully this will be set to true.

Type:
  • boolean
Since: 3.0.0
Default Value:
  • false
Source: src/input/mouse/MouseManager.js (Line 106)

manager :Phaser.Input.InputManager

A reference to the Input Manager.

Type:
Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 36)

onMouseDown :function

The Mouse Down Event handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.10.0
Source: src/input/mouse/MouseManager.js (Line 127)

onMouseDownWindow :function

The Mouse Down Event handler specifically for events on the Window. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.17.0
Source: src/input/mouse/MouseManager.js (Line 149)

onMouseMove :function

The Mouse Move Event handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.10.0
Source: src/input/mouse/MouseManager.js (Line 116)

onMouseOut :function

The Mouse Out Event handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.16.0
Source: src/input/mouse/MouseManager.js (Line 182)

onMouseOver :function

The Mouse Over Event handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.16.0
Source: src/input/mouse/MouseManager.js (Line 171)

onMouseUp :function

The Mouse Up Event handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.10.0
Source: src/input/mouse/MouseManager.js (Line 138)

onMouseUpWindow :function

The Mouse Up Event handler specifically for events on the Window. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.17.0
Source: src/input/mouse/MouseManager.js (Line 160)

onMouseWheel :function

The Mouse Wheel Event handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.18.0
Source: src/input/mouse/MouseManager.js (Line 193)

pointerLockChange :function

Internal pointerLockChange handler. This function is sent the native DOM MouseEvent. Initially empty and bound in the startListeners method.

Type:
  • function
Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 204)

preventDefaultDown :boolean

If true the DOM mousedown event will have preventDefault set.

Type:
  • boolean
Since: 3.50.0
Default Value:
  • true
Source: src/input/mouse/MouseManager.js (Line 45)

preventDefaultMove :boolean

If true the DOM mousemove event will have preventDefault set.

Type:
  • boolean
Since: 3.50.0
Default Value:
  • true
Source: src/input/mouse/MouseManager.js (Line 65)

preventDefaultUp :boolean

If true the DOM mouseup event will have preventDefault set.

Type:
  • boolean
Since: 3.50.0
Default Value:
  • true
Source: src/input/mouse/MouseManager.js (Line 55)

preventDefaultWheel :boolean

If true the DOM wheel event will have preventDefault set.

Type:
  • boolean
Since: 3.50.0
Default Value:
  • true
Source: src/input/mouse/MouseManager.js (Line 75)

target :any

The Mouse target, as defined in the Game Config. Typically the canvas to which the game is rendering, but can be any interactive DOM element.

Type:
  • any
Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 96)

Methods


destroy()

Destroys this Mouse Manager instance.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 543)

disableContextMenu()

Attempts to disable the context menu from appearing if you right-click on the browser.

Works by listening for the contextmenu event and prevent defaulting it.

Use this if you need to enable right-button mouse support in your game, and the browser menu keeps getting in the way.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 272)
Returns:

This Mouse Manager instance.

Type
Phaser.Input.Mouse.MouseManager

releasePointerLock()

If the browser supports pointer lock, this will request that the pointer lock is released. If the browser successfully enters a locked state, a 'POINTER_LOCK_CHANGE_EVENT' will be dispatched - from the game's input manager - with an isPointerLocked property.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 329)

requestPointerLock()

If the browser supports it, you can request that the pointer be locked to the browser window.

This is classically known as 'FPS controls', where the pointer can't leave the browser until the user presses an exit key.

If the browser successfully enters a locked state, a POINTER_LOCK_CHANGE_EVENT will be dispatched, from the games Input Manager, with an isPointerLocked property.

It is important to note that pointer lock can only be enabled after an 'engagement gesture', see: https://w3c.github.io/pointerlock/#dfn-engagement-gesture.

Note for Firefox: There is a bug in certain Firefox releases that cause native DOM events like mousemove to fire continuously when in pointer lock mode. You can get around this by setting this.preventDefaultMove to false in this class. You may also need to do the same for preventDefaultDown and/or preventDefaultUp. Please test combinations of these if you encounter the error.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 296)

startListeners()

Starts the Mouse Event listeners running. This is called automatically and does not need to be manually invoked.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 346)

stopListeners()

Stops the Mouse Event listeners. This is called automatically and does not need to be manually invoked.

Since: 3.0.0
Source: src/input/mouse/MouseManager.js (Line 510)