获取鼠标

点击这里下载完整示例代码


你可以使用 bevy 的窗口设置 API 锁定/释放鼠标光标。

这里有一个例子,当鼠标点击时锁定和隐藏主窗口的光标,当按下 Esc 键时释放光标。

fn cursor_grab_system(
    mut windows: ResMut<Windows>,
    btn: Res<Input<MouseButton>>,
    key: Res<Input<KeyCode>>,
) {
    let window = windows.get_primary_mut().unwrap();

    if btn.just_pressed(MouseButton::Left) {
        window.set_cursor_lock_mode(true);
        window.set_cursor_visibility(false);
    }

    if key.just_pressed(KeyCode::Escape) {
        window.set_cursor_lock_mode(false);
        window.set_cursor_visibility(true);
    }
}