2

I'm trying to make my timer keep adding when we click e but Im not sure why I have to hold e for the timer to keep adding up my timer name is (tons) is there a way I could keep adding my timer when we click e instead of stopping when we are not clicking e anymore I tried the 'if event.type == pygame.K_e' but its the same thing I have to hold e

        if keys[pygame.K_e]: # if we click e then it should keep adding tons
            tons += 1
            print(tons)

game loop V

run = True
while run:
    # Making game run with fps
    clock.tick(fps)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    
# telling what to do when we say the word 'key'
    keys = pygame.key.get_pressed()

            
    if hit:
        if keys[pygame.K_e]: # if we click e then it should keep adding tons
            tons += 1
            print(tons)
            
        if tons > 10:
            playerman.direction = "att"
            if health2 > -21:
                health2 -= 0.3
            else:
                playerman.direction = "Idle"
                hit = False
                
            if tons > 30:
                tons = 0
                playerman.direction = "Idle"

1 Answer 1

2

but Im not sure why I have to hold e for the timer to keep adding up

Because that's how you coded it. Look at your code:

 if keys[pygame.K_e]: # if we click e then it should keep adding tons
    tons += 1

tons gets incremented if and only if e is pressed.

is there a way I could keep adding my timer when we click e instead of stopping when we are not clicking e anymore

Just set a flag instead, something like this:

pressed_e = False
run = True
while run:
    for event in pygame.event.get():
        ...
        if event.type == pygame.KEYDOWN and event.key == pygame.K_e:
            pressed_e = True

    if pressed_e: # if we click e then it should keep adding tons
        tons += 1
    ...
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.