SDL 1.2では、SDL_WM_GrabInputを使用して、(非表示の)マウスを画面の中央に配置していました。これは私に一人称シューティングゲームのための無制限の回転の自由を与えました。SDL2はこの関数を提供しなくなりましたが、SDL_SetWindowGrabを備えています。これは、各ループ(イベント読み取り)の後にマウスを画面の中央に再配置しているようには見えません。マウスがウィンドウの端に当たってxrel値が生成されなくなる前に、プレーヤーを1回半だけ回転させることができます。これはバグですか、それとも私が使用すべき別の機能がありますか?
質問する
5654 次
1 に答える
4
SDL_SetRelativeMouseMode()
試してみてくださいSDL_GetRelativeMouseState()
。
または、マウスを各フレームの最近に移動しますSDL_WarpMouseInWindow()
。
于 2012-05-08T13:59:31.287 に答える