所以,我的问题很可能已经被问过了,但我不知道该找什么,也没找到多少。所以,我的问题是,我做了两个函数,用来检查事件def get_pygame_events():
pygame_events = pygame.event.get()
return pygame_events
以及def get_keys_pressed(self):
keys_pressed = get_pygame_events() #pygame.event.get(pygame.KEYDOWN)
# print(keys_pressed)
keys_pressed_list = []
for event in keys_pressed:
if event.type == pygame.KEYDOWN:
if event.key == K_LEFT:
keys_pressed_list.append("left")
if event.key == K_RIGHT:
keys_pressed_list.append("right")
if event.key == K_UP:
keys_pressed_list.append("up")
if event.key == K_DOWN:
keys_pressed_list.append("down")
if event.key == K_a:
keys_pressed_list.append("a")
if event.key == K_d:
keys_pressed_list.append("b")
if event.key == K_w:
keys_pressed_list.append("w")
if event.key == K_s:
keys_pressed_list.append("s")
if event.key == K_SPACE:
keys_pressed_list.append("space")
if event.key == K_q:
keys_pressed_list.append("q")
if event.key == K_e:
keys_pressed_list.append("e")
if event.type == pygame.MOUSEBUTTONDOWN:
keys_pressed_list.append("click")
return (keys_pressed_list, event.pos)
return keys_pressed_list
我想如果我能做类似的事情:while True:
Variable1 = get_pygame_events()
Variable2 = get_keys_pressed()
if Variable2 == ["w"]:
print("w")
(附:那个while循环只是我所做的总结)
如果我按住W,W就会被一次又一次地打印出来,相反,当我尝试时,它只打印了W一次。除非我再按一次,否则一切都会发生。
我如何通过按住W(或任意)键来实现这一点,它标识发生的事件,并且(在本例中)每次经过while循环时都会打印W?