2016-03-19 3 views
0

Я пытаюсь понять, подходят ли какие-либо системы частиц в iOS (Sprite Kit или CAEmitterLayer) для выполнения моей задачи.iOS Управление системой частиц

Вопрос: Есть ли способ контролировать, когда эмиттер создает частицы? В частности, рассказывать эмиттеру, когда испускать и когда прекращать излучать.

Обоснование: В принципе, я хочу создать эффект эквалайзера (визуализатора?) С частицами. Я думал о наличии излучателя для каждой частоты и создания его частиц, чья форма/скорость отличается в зависимости от уровня сигнала этой частоты в этот момент времени.

Пожалуйста, дайте мне знать, если это возможно с помощью частиц, а если нет, то как это сделать эффективно (слои? Views?). OpenGL слишком низкий.

ответ

2

Есть ли способ контролировать, когда эмиттер создает частицы?

Излучатель представляет собой легкий объект, который сообщает системе эмиттера (если можно так выразиться) излучать, пока он присутствует в интерфейсе. Чтобы запустить и остановить излучение уже настроенного эмиттера, самый простой способ - разместить его или удалить из видимого интерфейса.

Конечно, вы также можете просто изменить значение излучателя birthRate - излучатель с нулем birthRate не излучает никаких частиц. Но эффект будет не таким быстрым, как просто удаление излучателя.

Так что это зависит от того, что вы хотите. Удаление излучателя удаляет все частицы, kaboom и восстанавливает излучатель на интерфейс, а также восстанавливает все частицы, kaboom. Другими словами, весь мир выбросов, связанный с этим эмиттером, удаляется или вставляется. С другой стороны, изменение birthRate просто включает и выключает втулку.

Смежные вопросы