gpt4 book ai didi

c# - 如何将光标锁定到游戏窗口?

转载 作者:行者123 更新时间:2023-11-30 22:31:26 25 4
gpt4 key购买 nike

我正在尝试为 FPS 游戏实现相机移动。我想我差不多明白了,但还有一些问题需要解决。我的鼠标移动设置如下:

protected override void OnLoad(EventArgs e)
{
Mouse.Move += OnMouseMove;
}

void OnMouseMove(object sender, MouseMoveEventArgs e)
{
_lookDir.X += e.XDelta * _mouseSensitivity;
_lookDir.Y -= e.YDelta * _mouseSensitivity;
}

当鼠标实际上在窗口内时,这似乎工作得很好,但一旦我离开窗口,它就不起作用了。我认为我必须做的是以某种方式将鼠标限制在窗口内,因为即使当我的鼠标在窗口外时它触发了鼠标移动,并且仍然遇到同样的问题,只是在我的桌面范围内坐标代替。

那么...我该怎么做——将我的鼠标锁定在窗口内?我是否基本上只是将鼠标位置设置为中心?如果是这样...我如何设置鼠标位置?我使用的是 Windows,但如果 OpenTK 提供的话,我更喜欢非本地解决方案。

最佳答案

在 OpenTK 3.2 中非常简单

OpenTK.GameWindow window = new OpenTK.GameWindow();
window.CursorGrabbed = true;

您还可以使用此代码段来隐藏光标。只需根据需要实现即可。

window.Cursor = MouseCursor.Empty;

关于c# - 如何将光标锁定到游戏窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com