【发布时间】:2015-11-23 18:59:13
【问题描述】:
我希望能够更改光标在我的 SDL2 窗口上的位置。我在文档中找不到任何东西。有什么办法吗?
【问题讨论】:
-
几秒钟的搜索出现了
SDL_WarpMouseInWindow()和SDL_WarpMouseGlobal(),这似乎是你想要的...... -
@Dmitri 谢谢!不寻常的“WarpMouse”名称可能是我找不到它的原因。
我希望能够更改光标在我的 SDL2 窗口上的位置。我在文档中找不到任何东西。有什么办法吗?
【问题讨论】:
SDL_WarpMouseInWindow()和SDL_WarpMouseGlobal(),这似乎是你想要的......
使用SDL_WarpMouseInWindow()函数,它设置鼠标在SDL窗口中的位置。
演示:
auto* WIN = SDL_CreateWindow("text", 0, 0, Width, Height, SDL_WINDOW_RESIZABLE);
SDL_WarpMouseInWindow(WIN, 50, 50);/*sets mouse position to 50, 50 relative to the window */
请记住,这会调用 SDL_MOUSEMOTION 事件,因此,如果您正在轮询事件,它会将鼠标位置的变化视为鼠标移动。
【讨论】: