Un juego no es nada sin entrada, y con el soporte de Pygame tanto para el mouse como para la entrada táctil, puedes asegurarte de que tu juego sea accesible.

Hoy en día, los dispositivos con pantalla táctil están en todas partes. No sorprende que los desarrolladores de juegos utilicen cada vez más la entrada táctil en sus juegos, y los marcos lo hacen cada vez más fácil.

PyGame facilita la creación de juegos y aplicaciones que pueden aprovechar las entradas táctiles.

Soporte táctil de PyGame

PyGame tiene soporte incorporado para trabajar con entradas táctiles. Esto incluye soporte para entradas táctiles con el mouse y con el dedo.

Para detectar un ratón, puede utilizar el pygame. BOTÓN DEL RATÓN y pygame. BOTÓN DEL RATÓN eventos. Por ejemplo:

para evento en pygame.event.get():
si evento.tipo == pygame. BOTÓN DEL RATÓN:
imprimir("Botón del ratón presionado")

Para detectar entradas táctiles con los dedos, puede usar el pygame. DEDO HACIA ABAJO y pygame. DEDO ARRIBA eventos. Por ejemplo:

para evento 
instagram viewer
en pygame.event.get():
si evento.tipo == pygame. DEDO HACIA ABAJO:
imprimir("El dedo tocó la pantalla")

Crear un juego simple

Puedes encontrar todo el código en este repositorio de GitHub.

Comience creando un juego simple. Este juego consistirá en un personaje de jugador que puedes mover por la pantalla usando entradas táctiles. Para hacer esto, deberá crear un bucle de juego y un personaje de jugador.

Antes de comenzar, asegúrese de tener pip instalado en su dispositivo, luego use el siguiente comando para instalar el PyGame módulo:

pip instalar pygame

Ahora, importe el módulo PyGame en su código de juego:

importar Pygame
pygame.init()

Después de eso, crea la ventana del juego y un objeto del juego:

# Configurar la pantalla
tamaño = (400, 400)
pantalla = pygame.display.set_mode (tamaño)

# Crear un objeto jugador
jugador = pygame. Superficie((50, 50))
jugador.rellenar((255, 0, 0))

# Establecer la posición inicial del jugador
player_pos = [175, 175]

Finalmente, crea el bucle del juego:

# El bucle del juego
corriendo = Verdadero

mientras correr:
# Buscar eventos
para evento en pygame.event.get():
si evento.tipo == pygame. ABANDONAR:
corriendo = FALSO

# Actualizar la posición del jugador
pos_jugador[0] += 5
pos_jugador[1] += 5

# Dibuja al jugador
screen.blit (jugador, player_pos)

# Actualizar la pantalla
pygame.display.update()

Tenga en cuenta que el código anterior solo crea un juego simple donde el personaje del jugador se mueve por la pantalla. Para hacer el juego más interesante, puedes agregar física y colisiones para crear obstáculos para que el jugador los supere.

Entradas táctiles del mouse para el movimiento del jugador

Ahora que tiene un juego con un personaje de jugador, puede comenzar a agregar entradas táctiles. Para hacer esto, deberá agregar un controlador de eventos para las entradas del mouse. Añade el pygame. BOTÓN DEL RATÓN y pygame. BOTÓN DEL RATÓN eventos al bucle del juego.

Cree un controlador de eventos para las entradas del mouse. Cuando un jugador presiona el botón del mouse, actualiza la posición del personaje a la posición actual del mouse. El programa ignorará la liberación del botón del mouse, ya que no necesita realizar ninguna acción en ese caso.

# El bucle del juego
corriendo = Verdadero

mientras correr:
# Buscar eventos
para evento en pygame.event.get():
si evento.tipo == pygame. ABANDONAR:
corriendo = FALSO
# Comprobar las entradas del ratón
elif evento.tipo == pygame. BOTÓN DEL RATÓN:
ratón_x, ratón_y = evento.pos
pos_jugador[0] = ratón_x
pos_jugador[1] = ratón_y
elif evento.tipo == pygame. BOTÓN DEL RATÓN:
aprobar

pantalla.llenar((0, 0, 0))

# Dibuja al jugador
screen.blit (jugador, player_pos)

# Actualizar la pantalla
pygame.display.update()

También puede agregar lógica adicional al controlador de eventos para hacer que el jugador se mueva en respuesta a la entrada del mouse.

Entradas táctiles para el movimiento del jugador

Además de las entradas del mouse, también puede agregar entradas táctiles con los dedos. Para hacer esto, deberá agregar un controlador de eventos para las entradas táctiles.

Añade el pygame. DEDO HACIA ABAJO y pygame. DEDO ARRIBA eventos al bucle del juego:

# El bucle del juego
corriendo = Verdadero

mientras correr:
# Buscar eventos
para evento en pygame.event.get():
si evento.tipo == pygame. ABANDONAR:
corriendo = FALSO
# Comprobar las entradas del ratón
elif evento.tipo == pygame. BOTÓN DEL RATÓN:
ratón_x, ratón_y = evento.pos
pos_jugador[0] = ratón_x
pos_jugador[1] = ratón_y
elif evento.tipo == pygame. BOTÓN DEL RATÓN:
aprobar
# Verifique las entradas de los dedos
elif evento.tipo == pygame. DEDO HACIA ABAJO:
dedo_x, dedo_y = evento.pos
pos_jugador[0] = dedo_x
pos_jugador[1] = dedo_y
elif evento.tipo == pygame. DEDO ARRIBA:
aprobar

pantalla.llenar((0, 0, 0))

# Dibuja al jugador
screen.blit (jugador, player_pos)

# Actualizar la pantalla
pygame.display.update()

Observe cuán similar es esto al controlador de eventos de entrada del mouse. Este controlador de eventos actualiza la posición del personaje cuando el jugador presiona su dedo en la pantalla. Cuando sueltan el dedo, no pasa nada. Esto le permite crear un juego que puede controlar usando las entradas táctiles del mouse y del dedo. Tenga en cuenta que también puede utilizar otros eventos como pygame. MOVIMIENTO DE LOS DEDOS para responder al movimiento de los dedos.

Funciones táctiles adicionales de Pygame

Con las funciones táctiles básicas implementadas, puede comenzar a agregar funciones más avanzadas. PyGame tiene algunas funciones integradas que pueden ayudarlo a agregar más funciones táctiles a su juego.

La primera característica es la pygame.mouse.set_visible() función. Esta función le permite ocultar el cursor del ratón. Esto puede ser útil si desea crear un juego que solo use entradas táctiles y no el mouse.

He aquí un ejemplo de cómo usar el establecer_visible() función:

pygame.mouse.set_visible(FALSO)

El pygame.mouse.set_pos() La función coloca el cursor del mouse en una posición específica en la pantalla. Esto es útil si desea mover el mouse a una ubicación específica sin usar las entradas del mouse.

A continuación se muestra un ejemplo de cómo utilizar el establecer_pos() función:

pygame.mouse.set_pos(200, 200)

Puedes usar el pygame.mouse.get_rel() función para obtener el movimiento relativo del ratón. Puede usar esto para detectar cuánto se ha movido el mouse desde el último evento del mouse.

Así es como puedes usar el get_rel() función:

dx, dy = pygame.mouse.get_rel()

Por último, puede utilizar el pygame.mouse.get_pressed() para verificar si el jugador presiona cualquier botón del mouse. Esto puede ser útil al crear juegos con controles táctiles/ratón.

A continuación se muestra un ejemplo de cómo utilizar el obtener_presionado() función:

botones_ratón = pygame.mouse.get_pressed()

PyGame también proporciona una RUEDA DE RATÓN tipo de evento que puede usar para detectar los desplazamientos de la rueda del mouse. Admite desplazamientos tanto verticales como horizontales.

Aquí hay un ejemplo:

para evento en pygame.event.get():
si evento.tipo == pygame. RUEDA DE RATÓN:
si evento.y > 0:
imprimir("Rueda del mouse desplazada hacia arriba")
elif evento.y < 0:
imprimir("Rueda del mouse desplazada hacia abajo")

Crea juegos interactivos con entradas táctiles

Con las entradas táctiles en su lugar, ahora puede crear juegos interactivos. Por ejemplo, puede crear un juego en el que el jugador pueda moverse por la pantalla mediante entradas táctiles. También puede crear juegos basados ​​en gestos, donde el jugador puede realizar diferentes gestos para desencadenar acciones en el juego.

Las posibilidades son infinitas cuando se trata de crear juegos con entradas táctiles. Con la ayuda de PyGame, puede crear juegos divertidos e interactivos. ¡Así que sal y empieza a crear!