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

Fermé
Spacewiki - 21 oct. 2020 à 16:18
 Spacewiki - 21 oct. 2020 à 17:00
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 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
21 oct. 2020 à 16:51
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
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