有没有办法只按1次就可以让方块连续移动?

Is there a way to make the square move continuously by just pressing 1 time?

click here to see the image

我使用的编程语言是PYTHON

如图所示,我有一个角色(正方形),我想要当我按下左、右、上、下键时,它必须继续朝那个方向移动,直到它撞到墙上然后 stops.But 当我按下这些键时,它只移动一次而不是像我那样连续移动 thought.how 让它连续移动

import pygame

pygame.init()
clock = pygame.time.Clock()
#display
window = pygame.display.set_mode((600,600))
caption = pygame.display.set_caption('SwipeIt')
#player
square = pygame.image.load('asset/square.png').convert_alpha()
square_rect = square.get_rect(center = (100,150))
#wall
wall1 = pygame.image.load('asset/wall1.png').convert()
wall2 = pygame.image.load('asset/wall2.png').convert()
screw = pygame.image.load('asset/screw.png').convert()
white = (255,252,252)
gravity = 0.25
swipe = 0
loop = True
while loop:
   print(window)
   window.fill(white)
   #wall
   window.blit(wall1,(0,0))
   window.blit(wall2,(0,0))
   window.blit(wall2,(565,0))
   window.blit(wall1,(0,566))
   window.blit(screw,(0,0))
   window.blit(screw,(0,566))
   window.blit(screw,(565,0))
   window.blit(screw,(565,566))
   #player
   window.blit(square,(square_rect))

   for event in pygame.event.get():
       if event.type == pygame.KEYDOWN:
           if event.key == pygame.K_DOWN:
                   swipe += gravity
                   square_rect.centery += swipe
           if event.key == pygame.K_UP:
                   swipe -= gravity
                   square_rect.centery -= swipe  
           if event.key == pygame.K_RIGHT:
                   swipe += gravity
                   square_rect.centerx += swipe   
           if event.key == pygame.K_LEFT:
                   swipe -= gravity
                   square_rect.centerx -= swipe
       if event.type == pygame.QUIT:
           loop = False
   
   pygame.display.flip()
   pygame.display.update()
   clock.tick(120)

如果需要,这里是link下载我用过的文件。 ''https://www.mediafire.com/file/ilogoklz3t9abpa/asset.rar/file''

我以前做过一个贪吃蛇游戏,我是怎么做的,就是使用一个叫做 direction 的变量。

这是其中的一小段。

for event in pygame.event.get():

    if event.type == pygame.QUIT:
        pygame.quit()
        quit()

    if event.type == pygame.KEYDOWN:
            
        if event.key == pygame.K_UP:
            direction = "up"
            
        if event.key == pygame.K_DOWN:
            direction = "down"

        if event.key == pygame.K_RIGHT:
            direction = "right"

        if event.key == pygame.K_LEFT:
            direction = "left"
        

然后我会检查当前方向并根据方向更改位置。

例如:

一个会是

if direction == "up":
    player_y += 5