Need Help in Python Variable updation (Pygame module) -


i trying increase speed variable in pygame code. run piece of code speed remain 0.1 (if press key) , 0 (else case). unable debug this. in appreciated.

import pygame speed = 0  screen = pygame.display.set_mode((400,400),0,32) pygame.display.update() clock = pygame.time.clock()  while true:     event in pygame.event.get():         if event.type == pygame.quit:             break          if event.type == pygame.keydown:             if event.key == pygame.k_up:                 if speed < 8 :                     speed+=0.1         if event.type == pygame.keyup:             if event.key == pygame.k_up:                 if speed > 0 :                     speed+= -0.1                          pygame.display.update()     print(speed)     clock.tick(60)     pygame.quit() quit() 

you confusing event keyup key. event keyup occurs when key (any key) released. event keydown occurs when key pressed down.

in code, means when key pressed down, speed set 0.1, , when key release, speed set 0.0.

if want speed keep increasing, , decreasing when key released, should use timer, so:

import pygame speed = 0  screen = pygame.display.set_mode((400,400),0,32) pygame.display.update() clock = pygame.time.clock()  pygame.time.set_timer(pygame.userevent+1, 20)  while true:     event in pygame.event.get():         if event.type == pygame.quit:             break          if event.type == pygame.userevent+1:             if pygame.key.get_pressed()[pygame.k_up]:                 if speed < 8 :                     speed+=0.1             else:                 if speed > 0.1:                     speed+= -0.1                 else:                     speed = 0.0      pygame.display.update()     print(speed)     clock.tick(60)     pygame.quit() quit() 

adjust delay in set_timer suit taste. also, note addition reset speed zero. float operations not exact, repeated adding , substracting can lead 'zero' negative.


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -