Files
XCEngine/docs/api/XCEngine/Input/InputManager/ProcessMouseButton.md

43 lines
1.1 KiB
Markdown

# InputManager::ProcessMouseButton
向输入系统注入一个鼠标按键事件。
```cpp
void ProcessMouseButton(MouseButton button, bool pressed, int x, int y);
```
## 行为说明
当前实现会:
- 如果未初始化或按钮索引越界,直接返回
-`m_mouseButtonDown[index]` 更新为 `pressed`
- 如果 `pressed == true`,把 `m_mouseButtonDownThisFrame[index]` 设为 `true`
- 如果 `pressed == false`,把 `m_mouseButtonUpThisFrame[index]` 设为 `true`
- 构造 `MouseButtonEvent`
- 同步触发 `m_onMouseButton`
因此这条注入路径会同时驱动三类查询:
- 按住态: [IsMouseButtonDown](IsMouseButtonDown.md)
- 按下边沿: [IsMouseButtonClicked](IsMouseButtonClicked.md)
- 释放边沿: [IsMouseButtonReleased](IsMouseButtonReleased.md)
## 参数
- `button` - 鼠标按键。
- `pressed` - `true` 表示按下,`false` 表示释放。
- `x` - 事件位置 X。
- `y` - 事件位置 Y。
## 返回值
- 无。
## 相关文档
- [返回类型总览](InputManager.md)
- [OnMouseButton](OnMouseButton.md)
- [IsMouseButtonClicked](IsMouseButtonClicked.md)
- [IsMouseButtonReleased](IsMouseButtonReleased.md)