怎么能让我的对象停止?

0 python pygame

我可以让我的物体停下来.一旦我按下w,a,s或d它就会移动但不会停止.当我按下其中一个方向时它会移动但它不会停止.当我释放钥匙时,我需要它停止.所有类型的帮助将不胜感激.继承我的代码:

while (running == 1):
    screen.fill(white)
    for event in pygame.event.get():
        if (event.type == pygame.QUIT):
            running = 0
        elif (event.type == pygame.KEYDOWN):
            if (event.key == pygame.K_d):
                dir = "R"
            elif (event.key == pygame.K_a):
                dir = "L"
            elif (event.key == pygame.K_s):
                dir = "D"
            elif (event.key == pygame.K_w):
                dir = "U"
            elif (event.key == pygame.K_ESCAPE): 
                sys.exit(0)
            elif (event.key == pygame.K_SPACE):
                shot=True
                xbul=xgun
                ybul=ygun
            #if key[K_SPACE]:
                #shot = True


    #OBJECT'S MOVEMENTS
    if (dir == "R" and xgun<595):
        xgun = xgun + 3
        pygame.event.wait
    elif (dir == "L" and xgun>0):
        xgun = xgun - 3
        pygame.event.wait
    elif (dir == "D" and ygun<460):
        ygun = ygun + 3
        pygame.event.wait
    elif (dir == "U" and ygun>0):
        ygun = ygun - 3

    screen.blit(gun, (xgun,ygun))
    #PROJECTILE MOTION
    #key = pygame.key.get_pressed()

    if shot == True:
        xbul = xbul + 3
        screen.blit(bullet, (xbul, ybul))

    if xbul>600:
        shot=False

    pygame.display.flip()
    time.sleep(0.01)
Run Code Online (Sandbox Code Playgroud)

ATO*_*TOA 6

你应该抓住pygame.KEYUP并停止当前的运动.