El método de obtención de teclas de teclado en Pygame

1 Eventos y colas

En Pygame, la operación del usuario en el juego se denomina "evento". Las pulsaciones de teclas del teclado son un tipo de evento, al igual que los clics del mouse y la entrada del gamepad. Estos eventos se definen en los locales del submódulo de Pygame. Cuando el usuario opera el juego a través del teclado, mouse o gamepad, estos eventos se colocarán en la cola.

2 El principio básico de obtener las teclas del teclado.

El principio básico para obtener claves en Pygame es sacar estos eventos de la cola. Si se trata de un evento de teclado, continúe juzgando qué tecla presionó el usuario y realice un procesamiento diferente según las diferentes teclas.

3 implementación de código

3.1 Importación de módulos

El módulo Pygame y el submódulo local bajo el módulo Pygame deben importarse, el código es el siguiente:

import pygame
from pygame.locals import *

3.2 Obtener eventos de la cola

El código para obtener un evento de la cola es el siguiente:

while True:
   for event in pygame.event.get():

Entre ellos, la declaración while True significa que durante la ejecución del juego, los eventos generados por el usuario se pueden obtener continuamente, la función de la función pygame.event.get() es sacar todos los eventos de la cola y guardarlos. ellos en el evento variable.

3.3 Determinar si es un evento de teclado

En el ciclo while, juzgue el evento de evento adquirido, el código es el siguiente:

if event.type == KEYUP:

Entre ellos, event.type indica el tipo de evento, y KEYUP se define en pygame.locals, indicando que se presiona una tecla en el teclado.

3.4 Procesamiento diferente según diferentes claves

Después de juzgar que es un evento de tecla del teclado, se juzga qué tecla del teclado presionó el usuario a continuación, y se realiza un procesamiento diferente de acuerdo con las diferentes teclas. La función que queremos lograr es que el usuario presione la tecla número 1 y se muestre el número 1 en la pantalla; cuando el usuario presione la tecla número 2, se mostrará el número 2, y así sucesivamente. El código se ve así:

if  event.key == pygame.K_1:
   number = '1'
elif event.key == pygame.K_2:
   number = '2'
elif event.key == pygame.K_3:
   number = '3'
elif event.key == pygame.K_4:
number = '4'

Entre ellos, event.key representa el valor correspondiente a la clave, y pygame.K_1 a pygame_K_4 representan los valores correspondientes a la tecla número 1 a la tecla número 4 respectivamente. El número de variable es lo que se muestra.

3.4 Crear la pantalla y el contenido a mostrar

Consulte "Texto de visualización de Pygame" .

4 Completa el código

El código completo para obtener entrada de teclado en Pygame se ve así: i

import pygame
from pygame.locals import *
import sys

pygame.init()
screen = pygame.display.set_mode((600,500))
font = pygame.font.Font(None, 100)
number = '0'

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()
        elif event.type == KEYUP:
            if event.key == pygame.K_ESCAPE:
                sys.exit()
            elif event.key == pygame.K_1:
                number = '1'
            elif event.key == pygame.K_2:
                number = '2'
            elif event.key == pygame.K_3:
                number = '3'
            elif event.key == pygame.K_4:
                number = '4'
            elif event.key == pygame.K_RETURN:
                number = 'RETURN'

    screen.fill((0,0,200))
    imgText = font.render(number, True, (255,255,255))
    screen.blit(imgText, (300, 200))
    pygame.display.update()

Después de ejecutar el código, cuando se presionan las cuatro teclas numéricas 1~4, el número correspondiente se mostrará en la pantalla, como se muestra en la Figura 1.

La figura 1 muestra los números correspondientes a las teclas.

Supongo que te gusta

Origin blog.csdn.net/hou09tian/article/details/131499340
Recomendado
Clasificación