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

44 lines
1.0 KiB
Markdown

# InputManager::GetAxis
读取一个具名逻辑轴的当前值。
```cpp
float GetAxis(const Containers::String& axisName) const;
```
## 行为说明
当前实现按以下规则计算返回值:
- 如果找不到该轴,返回 `0.0f`
- 如果正方向键当前按下,结果加 `1.0f`
- 如果负方向键当前按下,结果减 `1.0f`
所以当前结果通常是 `-1.0f``0.0f``1.0f`。如果正负方向同时按下,结果会相互抵消为 `0.0f`
要特别注意:
- 当前实现没有平滑、插值、重力或灵敏度处理。
- 它不会读取 `InputAxis::GetValue()` 的内部值。
- 默认注册的 `Mouse X``Mouse Y` 轴当前都绑定为 `KeyCode::None`,因此结果始终为 `0.0f`
## 参数
- `axisName` - 逻辑轴名称。
## 返回值
- `float` - 当前轴值。
## 示例
```cpp
float horizontal = XCEngine::Input::InputManager::Get().GetAxis("Horizontal");
```
## 相关文档
- [返回类型总览](InputManager.md)
- [GetAxisRaw](GetAxisRaw.md)
- [RegisterAxis](RegisterAxis.md)