我在python中使用pygame编写了一个程序代码,我不知道为什么它不起作用。 我希望程序显示菜单,我可以使用“w”和“s”切换按钮。 但它不起作用。 有人可以帮我吗?我已经尝试了一切。
import pygame
pygame.init()
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
BLUE = (0, 26, 219)
w = 1280
h = 800
screen = pygame.display.set_mode((w,h),pygame.FULLSCREEN)
clock = pygame.time.Clock()
done = False
marked = 1
while not done:
start = pygame.font.Font(None, 100)
option = pygame.font.Font(None, 100)
help = pygame.font.Font(None, 100)
end = pygame.font.Font(None, 100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
done = True
if event.key == pygame.K_w:
marked -= 1
elif event.key == pygame.K_a:
marked += 1
if(marked == 0):
marked = 1
start = pygame.font.Font(None, 125)
if(marked == 1):
start = pygame.font.Font(None, 125)
if(marked == 2):
option = pygame.font.Font(None, 125)
if(marked == 3):
help = pygame.font.Font(None, 125)
if(marked == 4):
end = pygame.font.Font(None, 125)
if(marked == 5):
marked = 4
end = pygame.font.Font(None, 125)
starttext = start.render("Start the Game",True,BLACK)
optiontext = option.render("Options",True,BLACK)
helptext = help.render("Help",True,BLACK)
endtext = end.render("End the Game",True,BLACK)
screen.fill(WHITE)
screen.blit(starttext, [400,200])
screen.blit(optiontext, [400,300])
screen.blit(helptext, [400,400])
screen.blit(endtext, [400,500])
pygame.display.flip()
clock.tick(30)
谢谢你的回答!
答案 0 :(得分:1)
由于你还没有真正给出错误描述,我会尽力帮助你。我认为你的代码没有按照你的意愿行事的原因是因为你正在寻找K_a
而不是K_s
。改变它,它应该没问题:)