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

1.1 KiB

InputManager::IsAnyKeyPressed

查询是否存在任意键盘键或鼠标按键在本帧刚被按下。

bool IsAnyKeyPressed() const;

行为说明

当前实现会:

  • 如果未初始化,返回 false
  • 先扫描 m_keyDownThisFrame
  • 再扫描 m_mouseButtonDownThisFrame
  • 任一数组里存在 true 就返回 true

因此它表达的是“按下边沿”,而且同样会把鼠标按键算进 any-key 统计。

还要注意两点:

  • 它不是“任意输入设备”。当前只统计键盘和鼠标按钮,不包含触摸、滚轮或文本输入。
  • 键盘侧当前不会过滤 repeat。如果平台在后续帧继续发送重复 KeyDown,只要 m_keyDownThisFrame 被再次写入,它仍会返回 true

返回值

  • bool - 当前帧是否存在任意键盘键或鼠标按键刚被按下。

示例

if (XCEngine::Input::InputManager::Get().IsAnyKeyPressed()) {
    // ...
}

相关文档