Ооо, огромное спасибо! Это действительно похоже на то, что нужно. Только такой момент: частицы движутся очень резко, я так понимаю, потому, что они меняют координату по вертикали постоянно и случайным образом. Нельзя ли их заставить двигаться более плавно? Еще я попробовала тем же способом задать им случайное движение по х, и чтобы при этом они все одновременно медленно смещались вверх: def update(self, st):
for s, start, speed in self.stars:
s.x = (start + speed + renpy.random.randint(-1,1)) % 840 - 20
s.y = (s.y - 0.2 + renpy.random.randint(-1,1)) % config.screen_height
return 0 Работает, но, опять же, точки припадочно трясутся и двигаться плавно не хотят :) Я нашла здесь такой код для движения по спирали: def add(self, d, speed):
s = self.sm.create(d)
start = renpy.random.randint(0, 840)
self.stars.append((s, start, speed))
def update(self, st):
for s, start, speed in self.stars:
s.x =512+start*math.cos(st)*speed
s.y =384+start*math.sin(st)*speed
## s.x = (start + speed * st) % 840 - 20
## s.y = (start + speed * st) % 840 - 20
return 0 Через math.cos и math.sin получается задать плавное движение по собственно синусоиде и по кругу, но проблема в том, что движутся все частицы вокруг одного центра, а мне нужно, чтобы они плавали каждая сама по себе. Извиняюсь, если вопросы глупые, но этот SpriteManager сводит меня с ума х)