Je travaille sur un jeu en tant que projet parallèle pour le plaisir et j'ai rencontré cette erreur et je ne sais vraiment pas pourquoi cela se produit ...
Voici le code:
class players:
def __init__(self, location, image_file, direction):
self.location = location
self.image_file = image_file
self.direction = direction
self.rect = self.image_file.get_rect()
def turn(self, direction, playerImages):
keys = pygame.key.get_pressed()
if keys[pygame.K_a] == True:
self.direction -= 1
if self.direction < -3:
self.direction = 3
if keys[pygame.K_d] == True:
self.direction = 1
if self.direction > 3:
self.direction = 3
if self.direction == -3:
self.image_file = playerImages[0]
if self.direction == -2:
self.image_file = playerImages[1]
if self.direction == -1:
self.image_file = playerImages[2]
if self.direction == 0:
self.image_file = playerImages[3]
if self.direction == 1:
self.image_file = playerImages[4]
if self.direction == 2:
self.image_file = playerImages[5]
if self.direction == 3:
self.image_file = playerImages[6]
return self.direction, self.image_file
Je l'appelle comme:
skierDirection, playerImage = players.turn(skierDirection, playerImages)
L'erreur que j'obtiens est:
Traceback (most recent call last):
File "C:\Users\Owen\Desktop\coding compile file\SkiFreeX\SkiFreeX.py", line 129, in <module>
main()
File "C:\Users\Owen\Desktop\coding compile file\SkiFreeX\SkiFreeX.py", line 122, in main
skierDirection, playerImage = players.turn(skierDirection, playerImages)
TypeError: turn() missing 1 required positional argument: 'playerImages'
[Finished in 0.385s]
Des idées?
Vous devez utiliser () avec le nom de classe
Suivez le code ci-dessous
skierDirection, playerImage = players().turn(skierDirection, playerImages)