我有一个带有pygame可调整大小窗口的程序。
screen = pygame.display.set_mode(size,pygame.RESIZABLE)
由于它可以调整大小,我希望屏幕上的某些元素根据窗口大小改变位置和大小。
我将所有变量保存在函数setGet中。我想要屏幕大小的传递,并且所有变量都取决于传入的屏幕大小。
def setGet(screenSize):
我有一个运行命令的循环函数
setGet(screen.get_size())
当您更改窗口大小时,get_size()显然不会更新。
如何在调整窗口大小时更新屏幕大小?
答案 0 :(得分:0)
嗯,我想我找到了自己的答案。
您要做的是将窗口大小调整为事件。
所以你想要的是
if event.type == pygame.VIDEORESIZE:
setGet(event.size)
答案 1 :(得分:0)
changed = False
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit(0)
elif event.type == pygame.VIDEORESIZE:
scrsize = event.size
width = event.w
hight = event.h
screen = pygame.display.set_mode(scrsize,RESIZABLE)
changed = True
在pygame.display.init doc page https://www.pygame.org/docs/ref/display.html#comment_pygame_display_update的评论中几乎完全相同 仅从2011-01-25T23:10:35略微编辑 - 戴夫伯顿谢谢戴夫