Ваш код создает переменный поезд, но никогда не использует поезд * s *.Я переименовал переменную в train_list, чтобы сделать ее более понятной.
train_list = pygame.sprite.Group()
done = False # any code can toggle this , to request a nice quit. Ie ESC
while not done:
for event in pygame.event.get():
if event ...:
train = Train()
train_list.add(train)
Чтение документы: pygame.sprite.Group И учебник по пигмеям sprite's sprite
Что если я захочуизменить переменную одного из поездов?
# modify a variable on one train
train_list[2].gas = 500
# kill train when out of gas
for cur in train_list:
# this will call Sprite.kill , removing that one train from the group.
if cur.gas <= 0:
cur.kill()
Как обновить все поезда?
Вы можете определить Train.update, чтобы использовать газ, так как SpriteGroup.update
Train(pygame.sprite.Sprite):
def __init__(self):
super(Train, self).__init__()
self.gas = 100
def update(self)
self.gas -= 1 # or you can use a variable from the caller
вызывается
Sprite.update .