Faire pivoter une image pour faire face à la direction du curseur de la souris dans PyGame
Introduction
Dans le développement de jeux, il est souvent nécessaire pour que les sprites ou les joueurs soient face à la direction du curseur de la souris. Ce guide fournira une solution complète pour faire pivoter une image pour pointer vers la position de la souris en Python à l'aide de PyGame.
Analyse du code
Le code fourni est presque correct, mais il ne calcule pas l'angle du vecteur entre le joueur et le curseur de la souris.
Solution
1. Calculer le vecteur et l'angle :
2. Appliquer l'angle de correction :
3. Faire pivoter l'image :
Code mis à jour :
<code class="python">import math import pygame # Calculate the vector and angle mx, my = pygame.mouse.get_pos() player_rect = Player_1.get_rect(topleft=(P_X,P_Y)) dx = mx - player_rect.centerx dy = player_rect.centery - my angle = math.degrees(math.atan2(-dy, dx)) - correction_angle # Rotate the image rot_image = pygame.transform.rotate(Player_1, angle) rot_image_rect = rot_image.get_rect(center=player_rect.center)</code>
Ce code mis à jour calcule correctement l'angle et fait pivoter le joueur pour qu'il pointe vers la position de la souris.
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!