我试图使我的角色在按下键的同时一直移动,但到目前为止,每按一次该键就会移动一次,因此需要释放键才能使他再次移动。
我已经尝试过使用pygame.key.get_pressed(),如图所示,但我不知道它是怎么了。
def keyPressed(input_key):
keysPressed = pygame.key.get_pressed()
if keysPressed[input_key]:
return True
else:
return False
...
run = True
while run:
for event in pygame.event.get():
if keyPressed(pygame.K_LEFT) and x > vel:
x -= vel
...
您必须pygame.key.get_pressed()
在应用程序循环而不是主循环中调用。事件循环仅在事件发生时才执行(例如pygame.KEYDOWN
)。但是应用程序循环在每个帧中执行。
的典型用法pygame.key.get_pressed()
如下所示:
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
#<---| Indentation
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and x > vel:
x -= vel
if keys[pygame.K_RIGHT] and x < width-vel:
x += vel
# [...]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句