Events SDL2鼠标抓取不工作

Events SDL2鼠标抓取不工作,events,mouse,sdl,Events,Mouse,Sdl,在SDL1.2中,我使用SDL_WM_GrabInput将(隐藏的)鼠标置于屏幕中央。这给了我作为第一人称射击手无限的转身自由。SDL2不再提供此功能,但具有SDL_SetWindowGrab。这似乎不是在每次循环(事件读取)后将鼠标重新定位到屏幕中心。在鼠标触及窗口边缘之前,我只能将播放器旋转1.5次,并且不再产生xrel值。这是一个bug还是我应该使用另一个函数 试试看 或者,您可以自己重新居中每帧鼠标。我发现Windows上的SDL_SetRelativeMemouseMode存在问题,因

在SDL1.2中,我使用SDL_WM_GrabInput将(隐藏的)鼠标置于屏幕中央。这给了我作为第一人称射击手无限的转身自由。SDL2不再提供此功能,但具有SDL_SetWindowGrab。这似乎不是在每次循环(事件读取)后将鼠标重新定位到屏幕中心。在鼠标触及窗口边缘之前,我只能将播放器旋转1.5次,并且不再产生xrel值。这是一个bug还是我应该使用另一个函数

试试看


或者,您可以自己重新居中每帧鼠标。

我发现Windows上的SDL_SetRelativeMemouseMode存在问题,因此我选择了鼠标居中选项。只是为了完成这篇文章。在主循环的末尾,我使用SDL_WarpMouseInWindow(win、cw、ch);(cw为中心宽度,ch为中心高度)以使光标在窗口中居中。在SDL_MOUSEMOTION下的事件循环中,我从光标的当前位置减去屏幕中心:mouseMovement+=(cw-e.motion.x)