flyps 发表于 2023-9-16 14:51:00

pyame颜值1问题

f = False
。。。
if event.key == pygame.K_F11:
                f = not f
                if f:
                  screen = pygame.display.set_mode((1920,1080),FULLSCREEN | HWSURFACE)
                else:
                  screen= pygame.display.set_mode(size)
为什么IDLE说FULLSCREEN未定义?在线等,急!{:10_269:}

isdkz 发表于 2023-9-16 14:51:04

在使用pygame时,需要从pygame.locals导入所有常量。因此,在代码开头添加以下语句:

from pygame.locals import *

这将导入所有常量,包括FULLSCREEN。

陶远航 发表于 2023-9-16 14:51:14

在你提供的代码中,FULLSCREEN是pygame库中的一个常量,用于设置显示模式为全屏模式。但是,在IDLE中执行时可能会报错提示FULLSCREEN未定义,这是因为IDLE的控制台环境对于一些特定的库常量可能不具备自动补全功能。

要解决这个问题,你可以在代码前面添加以下导入语句,来明确指定使用该常量:

from pygame.locals import FULLSCREEN, HWSURFACE


这样,就可以正确引用FULLSCREEN和HWSURFACE常量了。

以下是修改后的示例代码:

import pygame
from pygame.locals import FULLSCREEN, HWSURFACE

pygame.init()
size = (800, 600)
screen = pygame.display.set_mode(size)

running = True
while running:
    for event in pygame.event.get():
      if event.type == pygame.QUIT:
            running = False
      elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_F11:
                f = not f
                if f:
                  screen = pygame.display.set_mode((1920, 1080), FULLSCREEN | HWSURFACE)
                else:
                  screen = pygame.display.set_mode(size)
    pygame.display.flip()

pygame.quit()


请注意,以上代码只是针对你提供的问题进行了修正,其他部分可能还需要根据实际需求进行适当调整。
如果问题已经解决,请设置最佳答案
页: [1]
查看完整版本: pyame颜值1问题