2026-03-26 16:45:24 +08:00
|
|
|
# InputManager::ProcessMouseButton
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
向输入系统注入一个鼠标按键事件。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void ProcessMouseButton(MouseButton button, bool pressed, int x, int y);
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
当前实现会:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- 如果未初始化或按钮索引越界,直接返回
|
|
|
|
|
- 把 `m_mouseButtonDown[index]` 更新为 `pressed`
|
|
|
|
|
- 只有在 `pressed == true` 时,才把 `m_mouseButtonDownThisFrame[index]` 设为 `true`
|
|
|
|
|
- 构造 `MouseButtonEvent`
|
|
|
|
|
- 同步触发 `m_onMouseButton`
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
这意味着当前实现只显式记录“按下边沿”,没有单独的 “mouse up this frame” 缓存。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 参数
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- `button` - 鼠标按键。
|
|
|
|
|
- `pressed` - `true` 表示按下,`false` 表示释放。
|
|
|
|
|
- `x` - 事件位置 X。
|
|
|
|
|
- `y` - 事件位置 Y。
|
|
|
|
|
|
|
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 无。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- [返回类型总览](InputManager.md)
|
|
|
|
|
- [OnMouseButton](OnMouseButton.md)
|
|
|
|
|
- [IsMouseButtonClicked](IsMouseButtonClicked.md)
|