docs: sync api and planning docs
This commit is contained in:
@@ -8,12 +8,20 @@ bool IsKeyUp(KeyCode key) const;
|
||||
|
||||
## 行为说明
|
||||
|
||||
当前实现有一个很宽松的定义:
|
||||
当前实现直接把它定义成“不是 Down”:
|
||||
|
||||
- 如果管理器未初始化,返回 `true`
|
||||
- 否则返回 `!IsKeyDown(key)`
|
||||
- 如果 `KeyCode` 超出内部数组范围,`IsKeyDown()` 会返回 `false`,因此这里也会表现为 `true`
|
||||
|
||||
因此对于未初始化或未识别的键,它都会被视为 “Up”。
|
||||
因此对于未初始化、越界或当前未按住的键,它都会被视为 “Up”。
|
||||
|
||||
这和 [IsKeyReleased](IsKeyReleased.md) 要区分开:
|
||||
|
||||
- `IsKeyUp()` 回答的是“现在有没有按住”
|
||||
- `IsKeyReleased()` 回答的是“这一帧是否刚释放”
|
||||
|
||||
如果你要做“松开键就触发一次”这类逻辑,应优先使用释放边沿接口,而不是用 `IsKeyUp()` 轮询。
|
||||
|
||||
## 参数
|
||||
|
||||
@@ -23,7 +31,16 @@ bool IsKeyUp(KeyCode key) const;
|
||||
|
||||
- `bool` - 当前是否抬起。
|
||||
|
||||
## 示例
|
||||
|
||||
```cpp
|
||||
if (XCEngine::Input::InputManager::Get().IsKeyUp(XCEngine::Input::KeyCode::Space)) {
|
||||
// Space 当前没有被按住
|
||||
}
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [返回类型总览](InputManager.md)
|
||||
- [IsKeyDown](IsKeyDown.md)
|
||||
- [IsKeyReleased](IsKeyReleased.md)
|
||||
|
||||
Reference in New Issue
Block a user