Я пытаюсь реализовать движение камеры для игры 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 предоставляет его.