Bei der Verwendung des Pygame-Moduls von Python müssen wir manchmal die Tastatureingabe für verschiedene Vorgänge verwenden, z. B. das Bewegen eines Zeichens in eine bestimmte Richtung. Um dies zu erreichen, müssen wir alle Ereignisse sehen, die passieren. Pygame verfolgt auftretende Ereignisse, die wir mit der Funktion events.get() sehen können. In diesem Artikel werden wir diskutieren, wie wir verschiedene Tastatureingaben in Pygame erhalten und verwenden können.

Erkennen, ob eine Taste gedrückt wird:

Immer wenn eine Taste gedrückt oder losgelassen wird, verarbeitet die pygame.event()-Warteschlange die Ereignisse pygame.KEYDOWN bzw. pygame.KEYUP.

Wenn wir beispielsweise erkennen möchten, ob eine Taste gedrückt wurde, werden wir nachverfolgen, ob ein Ereignis von pygame.KEYDOWN aufgetreten ist oder nicht, und dementsprechend erfahren wir, ob eine Taste gedrückt wurde oder nicht. Der Code zum Erkennen, ob eine Taste gedrückt wurde oder nicht, kann wie folgt geschrieben werden:

Python

# importing pygame module
import pygame
 
# importing sys module
import sys
 
# initialising pygame
pygame.init()
 
# creating display
display = pygame.display.set_mode((300, 300))
 
# creating a running loop
while True:
       
    # creating a loop to check events that
    # are occuring
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
         
        # checking if keydown event happened or not
        if event.type == pygame.KEYDOWN:
           
            # if keydown event happened
            # than printing a string to output
            print("A key has been pressed")

 
 

Ausgabe:

Nach dem Ausführen dieses Codes ist zu sehen, dass immer dann, wenn eine Taste gedrückt wurde, eine Zeichenfolge „Eine Taste wurde gedrückt“ auf dem Terminal gedruckt wird

Erkennen, welche Taste gedrückt wurde:

Um zu wissen, welche Taste gedrückt wurde, müssen wir überprüfen, welche Variable event.key welchen Pygame-Tasten entspricht. Zum Beispiel ist die Pygame-Taste für den Buchstaben „A“ „K_a“, dann vergleichen wir event.Key mit K a und wenn es gleich ist, bedeutet dies, dass die Taste „A“ gedrückt wurde.

Die verschiedenen Tastaturtasten und die entsprechenden Pygame-Tasten sind:

pygamekeyBeschreibung
K_BACKSPACERücktaste
K_TABTab
K_LÖSCHENklar
K_RETURNRückkehr
K_PAUSEPause
K_ESCAPEFlucht
K_SPACEPlatz
K_EXCLAIMausrufen
K_HASHHasch
K_QUOTEDBLzitiert
K_DOLLARDollar
K_AMPERSANDEt-Zeichen
K_QUOTEzitieren
K_LEFTPARENlinke Klammer
K_RIGHTPARENrechte Klammer
K_ASTERISKSternchen
K_PLUSPluszeichen
K_KOMMAKomma
K_MINUS Minuszeichen
K_PERIOD Zeitraum
K_SLASHSchrägstrich
K_0 0
K_11
K_22
K_33
K_44
K_55
K_66
K_77
K_88
K_99
K_COLONDoppelpunkt
K_SEMIKOLONSemikolon
K_LESSKleiner-als-Zeichen
K_GLEICHGleichheitszeichen
K_GREATERGrößer-als-Zeichen
K_FRAGE Fragezeichen
K_ATbeim
K_LEFTBRACKETlinke Klammer
K_BACKSLASH Backslash
K_RECHTE HALTERUNG  rechte Klammer
K_CARETPflege
K_UNDERSCOREunterstreichen
K_BACKQUOTEGrab
K_a,b,c…….zAlphabet von A bis Z
K_LÖSCHENlöschen
K_KP0, K_KP1, K_KP2….K_KP9Tastatur 0 bis 9
K_KP_PERIODTastatur Zeitraum
K_KP_DIVIDETastatur teilen
K_KP_MULTIPLYTastatur multiplizieren
K_KP_MINUSTastatur Minus
K_KP_PLUS  Tastatur plus
K_KP_ENTERTastatur eingeben
K_KP_GLEICHTastatur gleich
K_UPAufwärtspfeil
K_DOWNPfeil nach unten
K_RECHTS rechter Pfeil
K_LINKS  Linker Pfeil
K_INSERTEinfügung
K_HOMEHeim
K_ENDEnde
K_BILDAUF Seite nach oben
K_PAGEDOWN  Bild nach unten
K_F1, K_F2, K_F3……K_F15F1 bis F15
K_NUMLOCKNum Lock
K_CAPSLOCKCapslock
K_SCROLLOCKScrollock
K_RSHIFTVerschiebung nach rechts
K_LSHIFTLinksverschiebung
K_RCTRLrichtige Kontrolle
K_LCTRLLinker Regler
K_RALT Recht alt
K_LALT Linker Alt
K_RMETArichtige Meta
K_LMETA Linke Meta
K_LSUPERlinke Windows-Taste
K_RSUPER rechte Windows-Taste
K_MODUSModuswechsel
K_HILFEHilfe
K_PRINTBildschirm drucken
K_SYSREQsysrq
K_BREAKBrechen
K_MENÜSpeisekarte
K_POWERLeistung
K_EUROEuro

Lassen Sie uns zum Beispiel einen Code erstellen, um zu prüfen, ob die Taste „A“ oder „J“ oder „P“ oder „M“ gedrückt wurde oder nicht. Der Code für die Überprüfung lautet: 

Python

# importing pygame module
import pygame
 
# importing sys module
import sys
 
# initialising pygame
pygame.init()
 
# creating display
display = pygame.display.set_mode((300, 300))
 
# creating a running loop
while True:
       
    # creating a loop to check events that
    # are occuring
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
         
        # checking if keydown event happened or not
        if event.type == pygame.KEYDOWN:
               
            # checking if key "A" was pressed
            if event.key == pygame.K_a:
                print("Key A has been pressed")
               
            # checking if key "J" was pressed
            if event.key == pygame.K_j:
                print("Key J has been pressed")
               
            # checking if key "P" was pressed
            if event.key == pygame.K_p:
                print("Key P has been pressed")
             
            # checking if key "M" was pressed
            if event.key == pygame.K_m:
                print("Key M has been pressed")

Ausgabe:

Wenn wir diesen Code ausführen und die angegebenen Tasten drücken, werden die entsprechenden Zeichenfolgen auf dem Terminal gedruckt.