У меня такая проблема - есть код, который обрабатывает событие изменения окна.
background_image_filename = 'image.jpg'
import pygame
from pygame.locals import *
from sys import exit
SCREEN_SIZE = (640, 480)
pygame.init()
screen = pygame.display.set_mode(SCREEN_SIZE, RESIZABLE, 32)
background = pygame.image.load(background_image_filename).convert()
while True:
event = pygame.event.wait()
if event.type == QUIT:
exit()
if event.type == VIDEORESIZE:
SCREEN_SIZE = event.size
screen = pygame.display.set_mode(SCREEN_SIZE, RESIZABLE, 32)
pygame.display.set_caption("Window resized to "+str(event.size))
screen_width, screen_height = SCREEN_SIZE
for y in range(0, screen_height, background.get_height()):
for x in range(0, screen_width, background.get_width()):
screen.blit(background, (x, y))
pygame.display.update()
Код выполняется и размеры окна можно менять, но если сделать размеры окна больше, чем при создании, то скрипт завершается с ошибкой:
Fatal Python error: (pygame parachute) Segmentation Faultхотя по идее, новое пространство должно заполняться всё тем же background`ом.
В качестве image.jpg брал рисунок размером 640х480.