如何使用pygame从两个不同的函数中检测按键

2024-05-16 13:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

main()函数中,我启动了一个pygame窗口和线程。线程是2个函数event1()event2()。这是我的密码:

import threading
import pygame
from pygame.locals import *

def event1():
   while True:
       for event in pygame.event.get():
            if event.type == KEYDOWN: 
                key_input = pygame.key.get_pressed() 
                if key_input[pygame.K_UP] :
                print("from event 1")



def event2():
   while True:
       for event in pygame.event.get():
            if event.type == KEYDOWN: 
                key_input = pygame.key.get_pressed() 
                if key_input[pygame.K_UP] :
                print("from event 2")


def main():

    pygame.init()
    pygame.display.set_mode((250, 250))

    thread_event1 = threading.Thread(target=event1)
    thread_event2 = threading.Thread(target=event2)
    thread_event1.daemon = True
    thread_event2.daemon = True
    thread_event1.start()
    thread_event2.start()

main()

当我按向上键时,我的代码应该给出(因为这两个函数是同时执行的):

from event1
from event2 

但我得到了这个结果:

from event1

有时我会:

from event2

我做错什么了吗


Tags: key函数fromimporteventtrueinputget