user9621927
user9621927

Reputation:

Image not responding to different keys Pygame Python

Good day. I am trying to make a ground move left and right when the opposite keys are pressed, but for some reason, the image just keeps moving to right. Here's the reasonable part of my code:

while not crashed and not timeOut and not Quit:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        Quit = True

    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_LEFT:
            gx_change = 2.5
        elif pygame.key == pygame.K_RIGHT:
            gx_change = -2.5

        if pygame.key == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                gx_change = 0

print (event)

gx += gx_change

As I said, it just keeps going right.

UPDATE: It is fixed

Thank you!!!

Upvotes: 1

Views: 37

Answers (1)

Camden Weaver
Camden Weaver

Reputation: 324

The problem is that your if statement for KEYUP is actually inside the if statement for KEYDOWN. This is the correct code:

while not crashed and not timeOut and not Quit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            Quit = True

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                gx_change = 2.5
            elif pygame.key == pygame.K_RIGHT:
                gx_change = -2.5

        if pygame.key == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                gx_change = 0

    print (event)

    gx += gx_change

Upvotes: 1

Related Questions