Un jeu n'est rien sans saisie, et avec la prise en charge de Pygame pour la souris et la saisie tactile, vous pouvez vous assurer que votre jeu est accessible.

De nos jours, les appareils à écran tactile sont partout. Il n'est pas surprenant que les développeurs de jeux utilisent de plus en plus la saisie tactile dans leurs jeux, et les frameworks rendent cela de plus en plus facile.

PyGame facilite la création de jeux et d'applications pouvant tirer parti des entrées tactiles.

Support tactile de PyGame

PyGame a un support intégré pour travailler avec des entrées tactiles. Cela inclut la prise en charge des entrées tactiles de la souris et du doigt.

Pour détecter une souris, vous pouvez utiliser le pygame. BOUTON DE LA SOURIS BAS et pygame. BOUTON DE SOURIS HAUT événements. Par exemple:

pour événement dans pygame.event.get() :
si événement.type == pygame. BOUTON DE SOURIS BAS :
imprimer("bouton de la souris enfoncé")

Pour détecter les entrées tactiles, vous pouvez utiliser le pygame. DOIGT VERS LE BAS et pygame. DOIGT HAUT événements. Par exemple:

pour événement dans pygame.event.get() :
si événement.type == pygame. DOIGT VERS LE BAS :
imprimer("Doigt a touché l'écran")

Créer un jeu simple

Vous pouvez trouver tout le code dans ce référentiel GitHub.

Commencez par créer un jeu simple. Ce jeu consistera en un personnage joueur que vous pourrez déplacer sur l'écran à l'aide d'entrées tactiles. Pour ce faire, vous devrez créer une boucle de jeu et un personnage joueur.

Avant de commencer, assurez-vous d'avoir pip installé sur votre appareil, puis utilisez la commande suivante pour installer le PyGameName module:

pip installer pygame

Maintenant, importez le module PyGame dans votre code de jeu :

importer pygame
pygame.init()

Après cela, créez la fenêtre de jeu et un objet de jeu :

# Configurer l'affichage
taille = (400, 400)
screen = pygame.display.set_mode (taille)

# Créer un objet joueur
joueur = pygame. Surface((50, 50))
joueur.fill((255, 0, 0))

# Définir la position initiale du joueur
player_pos = [175, 175]

Enfin, créez la boucle de jeu :

# La boucle de jeu
courir = Vrai

alors que en cours d'exécution:
# Vérifier les événements
pour événement dans pygame.event.get() :
si événement.type == pygame. ARRÊTER:
courir = FAUX

# Mettre à jour la position du joueur
player_pos[0] += 5
player_pos[1] += 5

# Dessinez le joueur
screen.blit (joueur, player_pos)

# Mettre à jour l'affichage
pygame.display.update()

Notez que le code ci-dessus ne crée qu'un jeu simple où le personnage du joueur se déplace sur l'écran. Pour rendre le jeu plus intéressant, vous pouvez ajouter la physique et les collisions pour créer des obstacles que le joueur doit surmonter.

Entrées tactiles de la souris pour le mouvement du joueur

Maintenant que vous avez un jeu avec un personnage joueur, vous pouvez commencer à ajouter des entrées tactiles. Pour ce faire, vous devrez ajouter un gestionnaire d'événements pour les entrées de la souris. Ajouter le pygame. BOUTON DE LA SOURIS BAS et pygame. BOUTON DE SOURIS HAUT événements à la boucle de jeu.

Créez un gestionnaire d'événements pour les entrées de la souris. Lorsqu'un joueur appuie sur le bouton de la souris, mettez à jour la position du personnage à la position actuelle de la souris. Le programme ignorera le relâchement du bouton de la souris, puisqu'il n'a pas besoin d'agir dans ce cas.

# La boucle de jeu
courir = Vrai

alors que en cours d'exécution:
# Vérifier les événements
pour événement dans pygame.event.get() :
si événement.type == pygame. ARRÊTER:
courir = FAUX
# Vérifiez les entrées de la souris
elif événement.type == pygame. BOUTON DE SOURIS BAS :
mouse_x, mouse_y = event.pos
player_pos[0] = souris_x
player_pos[1] = mouse_y
elif événement.type == pygame. BOUTON DE SOURIS :
passer

screen.fill((0, 0, 0))

# Dessinez le joueur
screen.blit (joueur, player_pos)

# Mettre à jour l'affichage
pygame.display.update()

Vous pouvez également ajouter une logique supplémentaire au gestionnaire d'événements pour faire bouger le joueur en réponse à l'entrée de la souris.

Entrées tactiles pour le mouvement du joueur

En plus des entrées de la souris, vous pouvez également ajouter des entrées tactiles. Pour ce faire, vous devrez ajouter un gestionnaire d'événements pour les entrées tactiles.

Ajouter le pygame. DOIGT VERS LE BAS et pygame. DOIGT HAUT événements à la boucle de jeu :

# La boucle de jeu
courir = Vrai

alors que en cours d'exécution:
# Vérifier les événements
pour événement dans pygame.event.get() :
si événement.type == pygame. ARRÊTER:
courir = FAUX
# Vérifiez les entrées de la souris
elif événement.type == pygame. BOUTON DE SOURIS BAS :
mouse_x, mouse_y = event.pos
player_pos[0] = souris_x
player_pos[1] = mouse_y
elif événement.type == pygame. BOUTON DE SOURIS :
passer
# Vérifiez les saisies au doigt
elif événement.type == pygame. DOIGT VERS LE BAS :
doigt_x, doigt_y = événement.pos
player_pos[0] = doigt_x
player_pos[1] = doigt_y
elif événement.type == pygame. DOIGT HAUT :
passer

screen.fill((0, 0, 0))

# Dessinez le joueur
screen.blit (joueur, player_pos)

# Mettre à jour l'affichage
pygame.display.update()

Remarquez à quel point cela ressemble au gestionnaire d'événements d'entrée de la souris. Ce gestionnaire d'événements met à jour la position du personnage lorsque le joueur appuie son doigt sur l'écran. Lorsqu'ils relâchent leur doigt, rien ne se passe. Cela vous permet de créer un jeu que vous pouvez contrôler à l'aide des entrées tactiles de la souris et du doigt. Gardez à l'esprit que vous pouvez également utiliser d'autres événements tels que pygame. MOUVEMENT DES DOIGTS pour répondre au mouvement des doigts.

Fonctionnalités tactiles supplémentaires de Pygame

Une fois les fonctionnalités tactiles de base en place, vous pouvez commencer à ajouter des fonctionnalités plus avancées. PyGame a quelques fonctionnalités intégrées qui peuvent vous aider à ajouter plus de fonctionnalités tactiles à votre jeu.

La première caractéristique est la pygame.mouse.set_visible() fonction. Cette fonction vous permet de masquer le curseur de la souris. Cela peut être utile si vous souhaitez créer un jeu qui n'utilise que des entrées tactiles et non la souris.

Voici un exemple d'utilisation de set_visible() fonction:

pygame.mouse.set_visible(FAUX)

Le pygame.mouse.set_pos() La fonction place le curseur de la souris à une position spécifique sur l'écran. Ceci est utile si vous souhaitez déplacer la souris vers un emplacement spécifique sans utiliser les entrées de la souris.

Vous trouverez ci-dessous un exemple d'utilisation du set_pos() fonction:

pygame.mouse.set_pos(200, 200)

Vous pouvez utiliser le pygame.mouse.get_rel() fonction pour obtenir le mouvement relatif de la souris. Vous pouvez l'utiliser pour détecter la distance parcourue par la souris depuis le dernier événement de souris.

C'est ainsi que vous pouvez utiliser le get_rel() fonction:

dx, dy = pygame.mouse.get_rel()

Enfin, vous pouvez utiliser le pygame.mouse.get_pressed() fonction pour vérifier si le joueur appuie sur un bouton de la souris. Cela peut être utile lors de la création de jeux avec des commandes souris/tactile.

Vous trouverez ci-dessous un exemple d'utilisation du get_pressed() fonction:

mouse_buttons = pygame.mouse.get_pressed()

PyGame fournit également un ROULETTE DE LA SOURIS type d'événement que vous pouvez utiliser pour détecter les défilements de la molette de la souris. Il prend en charge les défilements verticaux et horizontaux.

Voici un exemple :

pour événement dans pygame.event.get() :
si événement.type == pygame. ROULETTE DE LA SOURIS:
si événement.y > 0:
imprimer("La molette de la souris a défilé vers le haut")
elif événement.y < 0:
imprimer("La molette de la souris a défilé vers le bas")

Créez des jeux interactifs avec des entrées tactiles

Avec les entrées tactiles en place, vous pouvez désormais créer des jeux interactifs. Par exemple, vous pouvez créer un jeu où le joueur peut se déplacer sur l'écran à l'aide d'entrées tactiles. Vous pouvez également créer des jeux basés sur des gestes, où le joueur peut effectuer différents gestes pour déclencher des actions dans le jeu.

Les possibilités sont infinies lorsqu'il s'agit de créer des jeux avec des entrées tactiles. Avec l'aide de PyGame, vous pouvez créer des jeux à la fois amusants et interactifs. Alors lancez-vous et commencez à créer !