pygame里的一个疑问,键盘获取的顺序导致的不能同时出效果
keys_pressed = pygame.key.get_pressed()
if keys_pressed[pygame.K_SPACE]:
self.hero.fire()
elif keys_pressed[pygame.K_RIGHT]:
self.hero.speed = 2
elif keys_pressed[pygame.K_LEFT]:
self.hero.speed = -2
elif keys_pressed[pygame.K_UP]:
self.hero.y_speed = -2
elif keys_pressed[pygame.K_DOWN]:
self.hero.y_speed = 2
在飞机大战项目中,如上面顺序,我按了空格键盘,就出子弹,上下左右键盘,就是对应的上下左右。
上面的顺序就解决的问题。
但是一开始我的空格键在中间,当按左键或右键的时候,一起按空格键,只能向左,或向右,却不能发射子弹。当时我是想多加几个elif条件然解决的,但是当时我发现,按上下键,去能发射子弹,所有我索性就把获取空格键,移到了最上面,然后就都好了。
这是为什么?