Насколько я понимаю, система частиц начнет излучать, как только она будет добавлена в родительский узел. Как я могу добавить его к родительскому, но не запускать его, поэтому изначально он будет неактивным? Тогда, когда мне нужно, я могу использовать resetSystem
.ParticleSystem изначально неактивен
ответ
Отправить stopSystem
, чтобы остановить излучатель частиц от испускания большего количества частиц. Это позволит существующим частицам продолжать работу до истечения срока их службы.
Отправить resetSystem
, чтобы начать излучатель частиц. Это убьет все существующие частицы, но заставляет систему запускать новые частицы.
Если вы хотите, чтобы система не излучала какие-либо частицы в первую очередь, установите ее emissionRate
на 0, прежде чем добавлять ее в свой родитель. Затем установите emissionRate
на положительное число, когда вы хотите, чтобы он излучал частицы. Взгляните на реализацию метода -[CCParticleSystem update:]
.
Кроме того, насколько я могу судить, родитель не запускает систему частиц. Вместо этого система частиц просто создается в активном состоянии. Вы пытались отправить stopSystem
в систему, прежде чем добавлять ее в свой родитель? (Установка totalParticles
из CCParticleSystemQuad
также появляется для сброса системы частиц на активный.)
'stopSystem' не остановит частицы, которые уже активны сразу после добавления в родительский узел. Это от doc: 'перестать излучать частицы. Запуск частиц будет продолжаться до тех пор, пока они не умрут ». Я не хочу, чтобы какая-либо частица излучалась сразу после добавления в родительский узел, пока я не перезапустил систему. – Pablo
Я исправил свой ответ. –