


Pourquoi pygame.event.get() ne renvoie-t-il pas d'événements lorsqu'il est exécuté dans un thread ?
Nov 13, 2024 am 06:14 AMpygame.event.get() ne renvoie pas les événements dans le fil de discussion
Problème :
Dans un jeu de style Pac-man utilisant PyGame, la fonction getting_inputs ne récupère aucun événement de clavier lorsqu'elle est exécutée dans un thread, alors que les événements de souris sont toujours enregistrés.
Extrait de code :
def receiving_inputs(self): while True: events = pg.event.get() for event in events: if event.type == pg.KEYDOWN: # Handle keyboard input time.sleep(1/60) threading.Thread(target=self.receiving_inputs).start()
Résolution :
La gestion des événements PyGame doit avoir lieu dans le thread principal.
Selon la documentation de l'événement PyGame :
Le Le sous-système d'événements doit être appelé à partir du thread principal.
Bien que les événements puissent être envoyés à partir d'autres threads, la file d'attente des événements doit être traitée dans le thread principal. La solution consiste donc à déplacer l’appel event.get() dans le thread principal.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment télécharger des fichiers dans Python

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Présentation de la boîte à outils en langage naturel (NLTK)
