MouseManager

.Input.Mouse. MouseManager

鼠标管理器是属于输入管理器的助手类. 它的作用是监听本地DOM鼠标事件,然后将它们传递给输入管理器进行进一步处理. 您不需要直接创建这个类,输入管理器将自动创建它的一个实例.

Constructor

new MouseManager(inputManager)

Since:
  • 3.0.0
Parameters:
Name Type Description
inputManager Phaser.Input.InputManager 对输入管理器的引用.

Members

enabled :boolean

Since:
  • 3.0.0
Default Value:
  • false
一个布尔值,它控制鼠标管理器是否启用. 可以随时切换.
Type:
  • boolean

(readonly) isTop :boolean

Since:
  • 3.50.0
事件侦听器是连接到 `window.top` 还是 `window` 的? 这是在 `boot` 序列中设置的.如果浏览器不能访问 `window.top` , 例如在跨来源iframe环境中,此属性设置为 `false` ,事件 而是被 `window` 钩住.
Type:
  • boolean

locked :boolean

Since:
  • 3.0.0
Default Value:
  • false
如果鼠标指针锁定成功,这将被设置为真.
Type:
  • boolean

manager :Phaser.Input.InputManager

Since:
  • 3.0.0
对输入管理器的引用.
Type:

onMouseDown :function

Since:
  • 3.10.0
鼠标按下事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseDownWindow :function

Since:
  • 3.17.0
专门用于窗口事件的鼠标按下事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseMove :function

Since:
  • 3.10.0
鼠标移动事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseOut :function

Since:
  • 3.16.0
鼠标移出事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseOver :function

Since:
  • 3.16.0
鼠标悬停事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseUp :function

Since:
  • 3.10.0
鼠标向上事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseUpWindow :function

Since:
  • 3.17.0
专门用于窗口事件的鼠标向上事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

onMouseWheel :function

Since:
  • 3.18.0
鼠标滚轮事件处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

pointerLockChange :function

Since:
  • 3.0.0
内部指针更改处理程序. 这个函数被发送到本机DOM MouseEvent. 最初为空,并在 `startListeners` 方法中绑定.
Type:
  • function

preventDefaultDown :boolean

Since:
  • 3.50.0
Default Value:
  • true
如果设置了 `true` ,则DOM `mousedown` 事件将设置 `preventDefault` .
Type:
  • boolean

preventDefaultMove :boolean

Since:
  • 3.50.0
Default Value:
  • true
如果设置了 `true` ,则DOM `mousemove` 事件将设置 `preventDefault` .
Type:
  • boolean

preventDefaultUp :boolean

Since:
  • 3.50.0
Default Value:
  • true
如果设置了 `true` ,则DOM `mouseup` 事件将设置 `preventDefault` .
Type:
  • boolean

preventDefaultWheel :boolean

Since:
  • 3.50.0
Default Value:
  • true
如果设置了 `true` ,则DOM `wheel` 事件将设置 `preventDefault` .
Type:
  • boolean

target :any

Since:
  • 3.0.0
游戏配置中定义的鼠标目标. 通常是游戏渲染到的画布,但也可以是任何交互式的DOM元素.
Type:
  • any

Methods

destroy()

Since:
  • 3.0.0
销毁此鼠标管理器实例.

disableContextMenu() → {this}

Since:
  • 3.0.0
如果在浏览器上单击鼠标右键,将尝试禁用上下文菜单. 通过监听 `contextmenu` 事件并防止其默认来工作. 如果您需要在游戏和浏览器中启用鼠标右键支持,请使用此选项 菜单总是碍事.
Returns:
此鼠标管理器实例.
Type
this

releasePointerLock()

Since:
  • 3.0.0
如果浏览器支持指针锁定,这将请求释放指针锁定.如果 当浏览器成功进入锁定状态时,将会出现一个 从游戏的输入管理器发送,带有一个 `isPointerLocked` 属性.

requestPointerLock()

Since:
  • 3.0.0
如果浏览器支持,您可以请求将指针锁定到浏览器窗口. 这被经典地称为 `FPS控件`,指针不能离开浏览器,直到 用户按下退出键. 如果浏览器成功进入锁定状态,将发送一个 `POINTER_LOCK_CHANGE_EVENT`, 来自游戏输入管理器,带有一个 `isPointerLocked` 属性. 需要注意的是,指针锁定只能在 `engagement gesture` 之后启用, see: https://w3c.github.io/pointerlock/#dfn-engagement-gesture. 火狐的注意事项:在某些火狐版本中有一个错误,它会导致本机DOM事件,例如 `mousemove` 在指针锁定模式下连续激发.你可以通过设置 `this.preventDefaultMove` 到此类中的 `false` .您可能还需要对以下内容进行同样的操作 `preventDefaultDown` 和/或 `preventDefaultUp` .如果遇到以下情况,请测试这些组合 错误.

startListeners()

Since:
  • 3.0.0
启动鼠标事件侦听器运行. 这是自动调用的,不需要手动调用.

stopListeners()

Since:
  • 3.0.0
停止鼠标事件侦听器. 这是自动调用的,不需要手动调用.