如何在SDL2中设置光标位置?

4

我希望能够在我的SDL2窗口中改变光标的位置。然而在文档中没有找到相关信息,是否有一种方法可以实现?


1
几秒钟的搜索就可以找到SDL_WarpMouseInWindow()SDL_WarpMouseGlobal()这两个函数,它们似乎可以实现你想要的功能... - Dmitri
@Dmitri 谢谢!不寻常的“WarpMouse”名称可能是我找不到它的原因。 - Therhang
1个回答

2
使用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 事件,因此,如果您正在轮询事件,它将把鼠标位置的变化视为鼠标移动。
这是一个参考:https://wiki.libsdl.org/SDL_WarpMouseInWindow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接