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

45 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# InputManager::GetButtonDown
查询一个具名逻辑按钮是否在本帧刚被按下。
```cpp
bool GetButtonDown(const Containers::String& buttonName) const;
```
## 行为说明
当前实现把逻辑按钮当作 `KeyCode` 别名处理,这个方法的工作流程是:
1.`m_buttons` 中查找 `buttonName`
2. 如果未注册,返回 `false`
3. 如果找到,则对映射后的键调用 [IsKeyPressed](IsKeyPressed.md)
这意味着它继承了 `IsKeyPressed()` 的全部语义:
- 返回的是“本帧按下边沿”,不是持续按住态
- 依赖 [Update](Update.md) 的帧边界
- 当前不会过滤平台重复按键消息;如果映射键在后续帧收到 repeat keydown本方法也可能再次返回 `true`
## 参数
- `buttonName` - 逻辑按钮名称。
## 返回值
- `bool` - 该按钮是否在本帧刚被按下。
## 示例
```cpp
if (XCEngine::Input::InputManager::Get().GetButtonDown("Fire1")) {
// ...
}
```
## 相关文档
- [返回类型总览](InputManager.md)
- [GetButton](GetButton.md)
- [GetButtonUp](GetButtonUp.md)
- [IsKeyPressed](IsKeyPressed.md)