Pygame程序代码问题

时间:2014-03-25 18:28:09

标签: python pygame

我在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)

谢谢你的回答!

1 个答案:

答案 0 :(得分:1)

由于你还没有真正给出错误描述,我会尽力帮助你。我认为你的代码没有按照你的意愿行事的原因是因为你正在寻找K_a而不是K_s。改变它,它应该没问题:)