我正在使用Pygame构建一个基于SDL的游戏,我想知道是否有办法锁定游戏窗口的位置,这样用户就无法通过抓住它的顶部来移动窗口。
答案 0 :(得分:1)
如果您使用的是SDL2; 首先,在主循环开始时获取窗口起始位置的当前位置。您可以使用此功能获得该职位:
SDL_GetWindowPosition(SDL_Window * window,int * x,int * y)
通过这个,您将获得窗口的起始位置。
其次,您捕获SDL_WINDOWEVENT_MOVED事件(该事件来自SDL_WINDOWEVENT)。当您捕获该事件时,只需使用以下命令覆盖新位置:
SDL_SetWindowPosition(SDL_Window * window,int x,int y)
您可以在此处查阅SDL2文档:http://wiki.libsdl.org/
更具体:http://wiki.libsdl.org/SDL_SetWindowPosition和 http://wiki.libsdl.org/SDL_GetWindowPosition
但是,如果pygame使用SDL 1.2,我认为不可能这样做,因为此功能在SDL 2之前不存在。
编辑:正如我所看到的,pygame已经用SDL2更新了,所以这些函数应该在那里。答案 1 :(得分:0)
使用标志pygame.NOFRAME
创建一个窗口,如下所示:
pygame.display.set_mode(resolution, flags=pygame.NOFRAME)