Python 3.x Pygame密钥只运行一次

Python 3.x Pygame密钥只运行一次,python-3.x,pygame,Python 3.x,Pygame,这是使我的精灵移动的一些代码的一部分。但它试图让它打印它,而我按下按钮,出于某种原因,它只打印一次“耶”,直到我再次按下键。有人请帮忙。你必须删除这一行key=pygame.key.get_pressed():和下面的两行。它们在事件队列中每个事件只执行一次,因为它们在事件循环中(对于pygame.event.get()中的事件):),但它们应该在中执行,而则在每帧循环中执行 def walk(): x = 0 y = 0 dist = 5 frame = 0

这是使我的精灵移动的一些代码的一部分。但它试图让它打印它,而我按下按钮,出于某种原因,它只打印一次“耶”,直到我再次按下键。有人请帮忙。

你必须删除这一行
key=pygame.key.get_pressed():
和下面的两行。它们在事件队列中每个事件只执行一次,因为它们在事件循环中(
对于pygame.event.get()中的事件):
),但它们应该在
中执行,而
则在每帧循环中执行

def walk():
    x = 0
    y = 0
    dist = 5
    frame = 0
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

            key = pygame.key.get_pressed()
            if key[pygame.K_UP]:
                x = x - 5

您必须删除行
key=pygame.key.get_pressed():
和下面的两行。它们在事件队列中每个事件只执行一次,因为它们在事件循环中(
对于pygame.event.get()中的事件):
),但它们应该在
中执行,而
则在每帧循环中执行

def walk():
    x = 0
    y = 0
    dist = 5
    frame = 0
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

            key = pygame.key.get_pressed()
            if key[pygame.K_UP]:
                x = x - 5

也许我们应该创建一些规范性问题来处理这个问题和其他几乎每天都会出现的常见问题。也许我们应该创建一些规范性问题来处理这个问题和其他几乎每天都会出现的常见问题。