如何在按下按键时使一个功能停止工作并使其行更粗



我想在按'w'时让白线停止移动。我能做什么呢?我怎样才能让它更大胆?白线需要以圆圈嘀嗒移动,当用户按"w"时,白线需要停止移动。

PIVOT = (WINDOW_WIDTH/2, 150)
SWINGLENGTH = PIVOT[1]*0.8

def fill():
class Pendulum(pygame.sprite.Sprite):

pen = Pendulum()
TICK = USEREVENT + 2
pygame.time.set_timer(TICK, TIMETICK)
def input(events):
    for event in events:
        if event.type == QUIT:
            sys.exit(0)
        elif event.type == TICK:
            pen.update()
#while True:
 #   input(pygame.event.get())
  #  pygame.display.flip()

finish = False
while not finish:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            finish = True
        while True:
            input(pygame.event.get())
            pygame.display.flip()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_w:
            #if event.type == pygame.KEYDOWN and event.key == pygame.K_w:
            print('Forward')
            fill()
            #screen.fill((255, 0, 0))
            #input(pygame.event.get())
            pygame.display.flip()
您可以使用

pygame.key.get_pressed()来获取所有键的当前状态。

pygame.key.get_pressed()[pygame.K_w]检查,如果按下w

例如

finish = False
while not finish:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            finish = True
    allKeys = pygame.key.get_pressed()
    # move the white line if 'w' is not pressed 
    if not allKeys[pygame.K_w]:            
        # [...]
    pygame.display.flip()

最新更新