钥匙没有做他们应该做的事情

时间:2014-01-20 19:20:19

标签: python key pygame

我正在使用pygame画一条线:

import pygame
from pygame.locals import*
import sys
pygame.init()
screen = pygame.display.set_mode((600,500))
pygame.display.set_caption("Drawing Lines")

while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN and event.key == K_DOWN:
            sys.exit()


    screen.fill((0,80,0))

    color = 100,255,200
    width = 8
    pygame.draw.line(screen, color, (100,100), (500,400), width)

    pygame.display.update()

由于某种原因,我无法得到这个工作:

while True:
        for event in pygame.event.get():
            if event.type == KEYDOWN and event.key == K_DOWN:
                sys.exit()

它没有显示任何错误,它只是不起作用。我希望能够按下向下键并让它退出程序,但它不会这样做。我不得不退出闲置。任何帮助都可以。感谢。

1 个答案:

答案 0 :(得分:1)

这是因为KEYDOWN只是键被按下的事件,而不是按下了向下键。要解决此问题,您必须首先检查KEYDOWN事件是否已发生,如果已发生,请检查推送的密钥。

for event in pygame.event.get():
    if event.type == KEYDOWN and event.key == K_DOWN:
        sys.exit()

查看有关此主题的docs了解详情。