Animer un joueur lors du déplacement et lui permettre de se déplacer en diagonal

Spacewiki -  
 Spacewiki -
Bonjour,
Je voudrais animer le joueur dans mon jeu, mais je ne sais pas comment je peux faire. En plus je voudrais aussi lui permettre de se déplacer en diagonale.
Voilà mon code :


import pygame
#Le fichier playerIMG contient toutes les images qui serviront pour l'animation
#et la représentation du joueur.
from playerIMG import *
class PlayerChar(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.default_max_health=12
#La variable default_max_health détermine combien de coeurs le joueur
#aura lors de la création d'un nouveau fichier de sauvegarde.
self.velocity=5
#L'image idleS1 a été importée via playerIMG
self.image=idleS1
self.rect=self.image.get_rect()
self.rect.x=415
self.rect.y=415
#La variable ci-dessous détermine dans quelle direction regarde le joueur.
#Par défaut (au début d'une partie ou à la sortie d'une maison),
#le joueur regardera vers le bas de l'écran.
self.direction="SOUTH"
def move_right(self):
self.rect.x+=self.velocity
def move_left(self):
self.rect.x-=self.velocity
def move_up(self):
self.rect.y-=self.velocity
def move_down(self):
self.rect.y+=self.velocity
def setImage(self):
pass

Configuration: Windows / Firefox 81.0
A voir également:

2 réponses

Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour

L'indentation étant importante en Python, merci de re poster ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :

def test():
    print('test')

test()
0
Spacewiki
 
import pygame
#Le fichier playerIMG contient toutes les images qui serviront pour l'animation
#et la représentation du joueur.
from playerIMG import *
class PlayerChar(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.default_max_health=12
        #La variable default_max_health détermine combien de coeurs le joueur
        #aura lors de la création d'un nouveau fichier de sauvegarde.
        self.velocity=5
        #L'image idleS1 a été importée via playerIMG
        self.image=idleS1
        self.rect=self.image.get_rect()
        self.rect.x=415
        self.rect.y=415
        #La variable ci-dessous détermine dans quelle direction regarde le joueur.
        #Par défaut (au début d'une partie ou à la sortie d'une maison),
        #le joueur regardera vers le bas de l'écran.
        self.direction="SOUTH"
    def move_right(self):
        self.rect.x+=self.velocity
    def move_left(self):
        self.rect.x-=self.velocity
    def move_up(self):
        self.rect.y-=self.velocity
    def move_down(self):
        self.rect.y+=self.velocity
    def setImage(self):
        pass
0