Skip to content

监听输入事件

typescript
declare const input: InputSystem;

方法

unlockPointer()

用后在游戏界面显示鼠标指针。

定义于 #L257


lockPointer()

调用后在游戏界面隐藏鼠标指针,由于浏览器限制,此操作可能会失败。

有兴趣可以查看Pointer Lock 2.0

定义于 #L262

鼠标指针锁定监听事件

用于全局监听当玩家指针锁定状态变化或出错时产生的事件。

pointerlockchange

当显示/隐藏鼠标指针时触发

isLocked

表示鼠标指针是否隐藏。

定义于 #L230


pointerlockerror

当鼠标隐藏出错时触发,无事件对象

定义于 #L231

javascript
//当显示/隐藏鼠标指针时触发
input.pointerLockEvents.add('pointerlockchange',({ isLocked }) => {
  //...
})

//当鼠标隐藏出错时触发,无事件对象
input.pointerLockEvents.add('pointerlockerror', () => {
  //...
})

单元素点击监听事件

pointerdown

类似 Web 的 pointerdown 事件,会受到 pointerEventBehavior 的影响。

定义于 #L108


pointerup

类似 Web 的 pointerup 事件,会受到 pointerEventBehavior 的影响。

定义于 #L109

javascript
const play_btn = UiImage.create(); //创建一个元素或搜索一个元素均可。

//当监听到鼠标按下该图片元素时
play_btn.events.add('pointerdown',({ target }) => {
  //...
})

//当监听到鼠标抬起该图片元素时
play_btn.events.add('pointerup', ({ target }) => {
  //...
})

全局点击监听事件

javascript
// input为已定义的全局变量。

// 方式一:(推荐)
//当监听到鼠标按下任意元素时
input.uiEvents.add('pointerdown',({ target }) => {
  //...
});

//当监听到鼠标抬起任意元素时
input.uiEvents.add('pointerup',({ target }) => {
  //...
});

// 方式二:

//当监听到鼠标按下任意元素时
input.onPointerDown.sub(({ target }) => {
  //...
});