Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Pygame] collisions

pygame

    18 mai 2013 à 18:08:04

    Bonjour,

    Mon problème est les collisions, j’essaie de gérer les collisions entre mon personnage qui se déplacent en utilisant les pixels, et les murs de la map positionné en case par case (création des murs comme dans le tp DK), mon personnage se déplace mais lorsque je suis sur un mur je le traverse, et je bloc environ au quart et trois quarts de la fenêtre sur l'axe des abscisses. Je ne peux donc ni atteindre le coté droit ni le coté gauche.

    Voici mon code

    class Perso:
    	"""Classe permettant de créer un personnage"""
    	def __init__(self, droite, gauche, haut, bas, niveau, position_x, position_y):
    		#Sprites du personnage 
    		self.gauche = pygame.image.load(gauche).convert_alpha()
    		self.droite = pygame.image.load(droite).convert_alpha()
    		self.haut = pygame.image.load(haut).convert_alpha()
    		self.bas = pygame.image.load(bas).convert_alpha()
    		#Position du personnage en pixels et en cases
    		self.x = position_x
    		self.y = position_y
    		self.case_x = int(self.x / taille_sprite_x)
    		self.case_y = int(self.y / taille_sprite_y)
    		#Direction par défaut
    		self.direction = self.gauche
    		#Niveau dans lequel le personnage se trouve 
    		self.niveau = niveau
    		#Vie par defaut
    		self.vie = 100
    	
    	
    	def deplacer(self, direction):
    		"""Methode permettant de déplacer le personnage"""
    		
    		#Déplacement vers la droite
    		if direction == 'droite':
    			#Pour ne pas dépasser l'écran
    			if self.x < (800-taille_sprite_x):
    				#On vérifie que la case de destination n'est pas un mur
    				if self.niveau.structure[self.case_y][self.case_x+1] != 'm':
    					#calcul de la case sur laquelle est le personnage
    					self.case_x = int(self.x / taille_sprite_x)
    					#on se deplace vers la droite de 5 pixels
    					self.x += 5
    			#Image dans la bonne direction		
    			self.direction = self.droite



    Merci de bien vouloir m'aider, la moindre réponse/aide pour me mettre sur la bonne voix ne sera que bénéfique.

    -
    Edité par MrDiem 20 mai 2013 à 22:21:44

    • Partager sur Facebook
    • Partager sur Twitter

    [Pygame] collisions

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown