Взрыв частиц (Particle Burst)
Перейти к навигации
Перейти к поиску
В то время как SnowBlossom полезен для общего падения частиц, вы можете захотеть создать взрыв частиц. Данный эффект полезен при взрыве предметов или имитации искр при воздействие стали о сталь.
Ниже представлен класс Factory, создающий взрыв частиц.
init:
python:
class ExplodeFactory: # класс Factory, который делает частицы
def __init__(self, theDisplayable, explodeTime=0, numParticles=20):
self.displayable = theDisplayable
self.time = explodeTime
self.particleMax = numParticles
- theDisplayable
- Отображаемый объект или имя изображения, которое вы хотите использовать для частиц.
- explodeTime
- Время взрыва, чтобы продолжить испускать частицы.
- numParticles
- Ограничение количества частиц на экране.
Вот пример того, как использовать класс Factory. Поместите следующий код в блок инициализации:
image boom = Particles(ExplodeFactory("star.png", numParticles=80, explodeTime = 1.0))
Тогда можешь просто добавить в код show boom, чтобы показать взрыв частиц.
Вот и остальная часть вышеуказанного кода с классом Factory:
def create(self, partList, timePassed):
newParticles = None
if partList == None or len(partList) < self.particleMax:
if timePassed < self.time or self.time == 0:
newParticles = self.createParticles()
return newParticles
def createParticles(self):
timeDelay = renpy.random.random() * 0.6
return [ExplodeParticle(self.displayable, timeDelay)]
def predict(self):
return [self.displayable]
init:
python:
class ExplodeParticle:
def __init__(self, theDisplayable, timeDelay):
self.displayable = theDisplayable
self.delay = timeDelay
self.xSpeed = (renpy.random.random() - 0.5) * 0.02
self.ySpeed = (renpy.random.random() - 0.5) * 0.02
self.xPos = 0.5
self.yPos = 0.5
def update(self, theTime):
if (theTime > self.delay):
self.xPos += self.xSpeed
self.yPos += self.ySpeed
if self.xPos > 1.05 or self.xPos < -1.05 or self.yPos > 1.05 or self.yPos < -1.05:
return None
return (self.xPos, self.yPos, theTime, self.displayable)
Источник[править | править код]
Статья "Particle Burst" на английском языке
На главную страницу | Книга рецептов Энциклопедии Ren'Py | Книга рецептов Ren'Py | Вернуться к началу статьи |