【发布时间】:2013-03-13 05:12:34
【问题描述】:
我正在使用 SDL2 开发一个 Windows 应用程序。我想更改光标显示。我使用完全复制的示例创建了光标,来自
SDL_CreateCursor
然后在SDL_MOUSEMOTION 事件中调用SDL_SetCursor,但似乎没有运气。
所以我直接跳进去:
SDL_Cursor * cursor = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_HAND);
SDL_SetCursor(cursor);
官方 wiki 将 SDL_CreateSystemCursor 报告到 TODO 状态。我查看了源代码,它似乎已经实现并且可以创建一个有效的游标。但是,光标显示也没有改变。
我该怎么办?
【问题讨论】:
-
您应该发布您的代码,正如我在示例中看到的那样,让
SDL_CreateSystemCursor工作需要大量代码。 -
我只是把它们放在事件循环中
-
SDL_PollEvent(&event);switch (event.type) {case SDL_MOUSEMOTION:SDL_Cursor * cursor = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_HAND);SDL_SetCursor(cursor);break;default:break;}当鼠标移动时,它偶尔会改变形状但立即切换回默认点。我想知道让它工作的“大量代码”是什么。非常感谢。 -
感谢 Armin,我通过从 Mercurial 存储库克隆下载了源代码,并且所有这些源代码都已修补。