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