SDL2 鼠标抓取不起作用

ste*_*e3e 5 mouse events sdl

在 SDL 1.2 中,我使用 SDL_WM_GrabInput 将(隐藏的)鼠标在屏幕上居中。对于第一人称射击游戏,这给了我无限的转弯自由。SDL2 不再提供此功能,但具有 SDL_SetWindowGrab。这似乎不是在每次循环(事件读取)后将鼠标重新定位到屏幕中心。在鼠标碰到窗口边缘之前,我只能将播放器转动 1 次半,并且不再产生 xrel 值。这是一个错误还是我应该使用其他功能?

gen*_*ult 4

尝试SDL_SetRelativeMouseMode()一下SDL_GetRelativeMouseState()

或者使用 自行将每一帧的鼠标居中SDL_WarpMouseInWindow()