__init__中的条件工作不正常



我在这里要做的是在窗口模式或全屏模式下开始游戏。

def __init__(self, fsc):
pygame.init()
self.fullscreen = fsc
print(self.fullscreen)
if self.fullscreen:
self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
elif not self.fullscreen:
self.screen = pygame.display.set_mode((WIN_WIDTH, WIN_WIDTH))
self.clock = pygame.time.Clock()
#self.font = pygame.font.Font('Arial', 32)
self.running = True

如果我尝试打印self.fullscreen,它将打印TrueFalse。然而,条件忽略了它,游戏无论如何都以全屏模式开始,即使self.fullscreenFalse

尝试去掉elif,只使用else

if self.fullscreen:
self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
else:
self.screen = pygame.display.set_mode((WIN_WIDTH, WIN_WIDTH))

在另一个文件中,我意外地将变量变成了字符串:

# I had
player_info = [f'{nickname}', f'{gender}', f'{fullscreen}']
# Instead of
player_info = [f'{nickname}', f'{gender}', fullscreen]

使fsc = player_info[2]成为字符串而不是布尔值。

最新更新