Как использовать Pygame, чтобы обнаружить нажатую кнопку из двух отдельных функций с потоками - PullRequest
0 голосов
/ 12 февраля 2019

В функции 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

я что-то не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...