Bonjour a Toutes et a tous ,

Quel est l'intéret de placer les variables : speed, bounce, gun_offset, images avant l'initialisation de la classe . Ne pouvait on pas faire :

self.speed = 10
self.bounce = 24
self.gun_offset = -11
self.images = []

Une derniere question , si je peux me permettre . Dans l'initialisation de la classe sprite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 pygame.sprite.Sprite.__init__(self, self.containers)
que signifie self.containers ? A quoi cela sert il ?

Je vous remercie

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Player(pygame.sprite.Sprite):
    speed = 10
    bounce = 24
    gun_offset = -11
    images = []
    def __init__(self):
        pygame.sprite.Sprite.__init__(self, self.containers)
        self.image = self.images[0]
        self.rect = self.image.get_rect(midbottom=SCREENRECT.midbottom)
        self.reloading = 0
        self.origtop = self.rect.top
        self.facing = -1
 
    def move(self, direction):
        if direction: self.facing = direction
        self.rect.move_ip(direction*self.speed, 0)
        self.rect = self.rect.clamp(SCREENRECT)
        if direction < 0: 
            self.image = self.images[0]
        elif direction > 0:
            self.image = self.images[1]
        self.rect.top = self.origtop - (self.rect.left//self.bounce%2)
 
    def gunpos(self):
        pos = self.facing*self.gun_offset + self.rect.centerx
        return pos, self.rect.top