如何限制在pygame中调整窗口大小

时间:2013-08-17 04:46:49

标签: python python-2.7 pygame window-resize

我在pygame中设置了一个窗口,如下所示: screen = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT),pygame.RESIZABLE)

正如你所看到的那样,它是可调整大小的,而且这个方面工作得很好,但是如果它太小,那么你就看不到所有内容,所以我想设置一个限制,例如,你可以没有调整屏幕的宽度os小于600,或者高度小于400,有没有办法在pygame中做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用pygame.VIDEORESIZE事件检查调整大小时的新窗口大小。 您要做的是在事件中,检查新的窗口大小值,根据您的限制更正它们,然后使用这些值重新创建屏幕对象。

这是一个基本脚本:

import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640,480), HWSURFACE|DOUBLEBUF|RESIZABLE)
while True:
    pygame.event.pump()
    event = pygame.event.wait()
    if event.type == QUIT: pygame.display.quit()
    else if event.type == VIDEORESIZE:
        width, height = event.size
        if width < 600:
            width = 600
        if height < 400:
            height = 400
        screen = pygame.display.set_mode((width,height), HWSURFACE|DOUBLEBUF|RESIZABLE)

编辑:根据游戏图形的绘制方式,您可能需要根据窗口调整大小调整它们的大小(尚未经过测试,只需按照此示例进行操作:http://www.pygame.org/wiki/WindowResizing