2013-08-17 52 views
1

調整窗口大小我有pygame的一個窗口中設置這樣的: screen = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT),pygame.RESIZABLE)如何將限制在pygame的

正如你所看到的,它是調整大小,而這方面是可以正常使用,但如果是太小,那麼你看不到任何東西,所以我想設置一個限制,例如,你不能調整屏幕大小,使其寬度小於600,或者小於400的高度在那裏一種在pygame中做到這一點的方法?

謝謝!

回答

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

+0

謝謝!你完美地回答了作品。我的圖形根據屏幕大小調整大小,但是它很好,因爲事實證明,我使用寬度/高度變量來完成它,並且這些變量保持準確。再次感謝,我會標記爲正確的。 –