我正在运行这个小程序,它以全屏模式将图像加载到屏幕上,但是一旦加载,程序将不会通过任何组合键退出,我最终不得不重置计算机才能完成我正在做的任何其他事情。
import pygame
pygame.init()
WIDTH=1366; HEIGHT=768
screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
pygame.display.set_caption('Katso')
PENGUIN = pygame.image.load("assets/download.png")
MICKEY = pygame.image.load("assets/mickey.jpg")
ADV = pygame.image.load("assets/adv.jpg")
CAT = pygame.image.load("assets/cat.jpg")
FLV = pygame.image.load("assets/flavours.jpg")
HALL = pygame.image.load("assets/hallway.jpg")
x = 0; # x coordnate of image
y = 0; # y coordinate of image
screen.blit(PENGUIN,(x,y)); pygame.display.update()
running = True
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.QUIT()
if event.type == pygame.KEYDOWN and event.key == pygame.K_1:
screen.blit(MICKEY,(x,y)); pygame.display.update()
if event.type == pygame.KEYDOWN and event.key == pygame.K_2:
screen.blit(PENGUIN,(x,y)); pygame.display.update()
if event.type == pygame.KEYDOWN and event.key == pygame.K_3:
screen.blit(ADV,(x,y)); pygame.display.update()
if event.type == pygame.KEYDOWN and event.key == pygame.K_4:
screen.blit(FLV,(x,y)); pygame.display.update()
if event.type == pygame.KEYDOWN and event.key == pygame.K_5:
screen.blit(CAT,(x,y)); pygame.display.update()
if event.type == pygame.KEYDOWN and event.key == pygame.K_6:
screen.blit(HALL,(x,y));pygame.display.update()
pygame.QUIT()
pygame.QUIT
是一个常量值(整数),用于检查事件的类型。要取消初始化 pygame,你必须调用pygame.quit()
(小写),但这实际上并不会退出你的游戏,而只是取消初始化加载的 pygame 模块。我认为如果您在 IDLE 等基于 tkinter 的编辑器中开始游戏,则只需要关闭窗口。
要退出游戏,你可以跳出 while 循环,让 Python 像往常一样结束程序,或者你可以调用sys.exit()
.
Since you can't click on the 'x' button to close the window in fullscreen mode, you have to use a key like Esc.
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_ESCAPE:
running = False # Set running to False to end the while loop.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)