如何指定pygame创建游戏窗口的位置
有没有办法控制pygame创建游戏画面的地方?我发现它总是在差不多的区域创建画面,但位置并不固定。
2 个回答
24
import os
os.environ['SDL_VIDEO_WINDOW_POS'] = str(position[0]) + "," + str(position[1])
根据 http://pygame.org/wiki/FrequentlyAskedQuestions 的内容
你也可以直接用下面的方法来让屏幕居中:
import pygame, os
os.environ['SDL_VIDEO_CENTERED'] = '1'
注意,这些设置应该在你开始主循环之前就做好。我通常是在导入os之后立刻进行设置。而且因为这些设置其实不是pygame的一部分,所以你可能在其他地方也能用到,尽管像gtk和wxpython这样的库有自己的方法来处理这些事情。
8
窗口的位置不是由客户端应用程序来处理的,而是由窗口管理器来管理,比如metacity等。
PyGame所基于的SDL库确实有一些环境变量,可以用来给窗口管理器提供一些提示。这些提示窗口管理器可能会忽略,但这也是你能做的最好的选择。
在这里的评论中有一个例子。