How to hold a 'key down' in Pygame?

99封情书 提交于 2021-01-29 22:12:18

问题


I use Pygame 1.9.6 and Python 3.7.4. I want to hold down the space bar and it continuously does the same action over and over. I know how to have have the button get pressed with KEYDOWN. I looked at the question: How to efficiently hold a key in Pygame? for answers but can't understand the one answer:

while not done: 
    keys = key.get_pressed() 
    if keys[K_DOWN]: 
        print "DOWN" 
    for e in event.get(): 
        pass # proceed other events. 
            # always call event.get() or event.poll() in the main loop

I don't get the key.get_pressed(). It's not from Pygame. Also, I'm assuming it's a function they wrote, but this doesn't show me on when I hold down a 'Key' it continues to run that action and when the 'Key' is released it stops the action being called. Any pointers on how to actually hold down a button or how to make one?


回答1:


pygame.key.get_pressed() is a function form pygame.key module. It returns a list of boolean values representing the state of every key on the keyboard.

If you want to test if the SPACE key is pressed the you have to get the state of K_SPACE by subscription:

keys = pygame.key.get_pressed() 
if keys[pygame.K_SPACE]:
    # [...]


来源:https://stackoverflow.com/questions/63816977/how-to-hold-a-key-down-in-pygame

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!