pygame一按f就退回原窗口大小,请问为什么?

pygame一按f就退回原窗口大小,本人mac os,求助!

import pygame
import sys

def screen_event():
    global screen,size,key_pressed
    #初始大小
    size = pygame.display.list_modes()[8]
    screen = pygame.display.set_mode(size, pygame.RESIZABLE)
    #关闭窗口
    for event in pygame.event.get(): 
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()  
    #全屏操作
    key_pressed = pygame.key.get_pressed()
    if key_pressed[pygame.K_f]:
        size = pygame.display.list_modes()[0]
        screen = pygame.display.set_mode(size, pygame.FULLSCREEN|pygame.HWSURFACE)
    if key_pressed[pygame.K_ESCAPE]:
        size = pygame.display.list_modes()[8]
        screen = pygame.display.set_mode(size)

pygame.init()

while True:
    screen_event()
    #填充背景
    screen.fill((0,0,0))
    #更新界面
    pygame.display.flip()

2个回答

那是因为你代码逻辑没搞清楚,每次运行screen_event()函数,窗口大小又重新复原了。
你应该把下面两行代码,从函数中剪切下来,复制到pygame.init()之后,while True之前。
size = pygame.display.list_modes()[8]
screen = pygame.display.set_mode(size, pygame.RESIZABLE)

问题解决了,就请采纳哦!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐