Мой вопрос для приложений, написанных на cocos2d v1.1.0-beta2b для КСН:CCParticleSystem удаление передовой практики
Что являются лучшие практики для удаления/рилизингCCParticleSystem?
Один способ, который я знаю, используется setAutoRemoveOnFinish: ДА.
[emitter setAutoRemoveOnFinish:YES];
[emitter stopSystem];
Другой способ - удалить излучатель вручную, используя removeChild.
Есть ли другие? Какой способ рекомендуется?
В качестве примечания, существуют ли какие-либо известные проблемы, связанные с удалением/выпуском CCParticleSystem под cocos2d v1.1.0-beta2b?
Вы уверены, что это правильно? «stopSystem не удалит систему частиц, она остановит ее, но система останется в качестве дочерней. ВАЖНО: если вы остановите систему, она не будет удалена setAutoRemoveOnFinish, потому что она остановлена и не будет завершена». – AJ222
Да! «stopSystem» будет «приостанавливать» систему. И его можно снова перезапустить с помощью 'resetSystem'. – Bivis
Я просмотрел его, и мне кажется, что это не так, поскольку эмиттер удаляется. Я видел в коде ccparticlesystem условие для удаления с использованием свойства autoRemoveOnFinish: if (particleCount == 0 && autoRemoveOnFinish_). stopSystem сделает particleCount равным 0 через несколько секунд (в зависимости от продолжительности жизни частиц, так как больше частиц не будет выбрасываться). Я думаю, что это, как предполагается, способ удалять излучателя «красивым» способом, мудрый (он будет выглядеть лучше, чем «выдернуть» систему частиц вместе со всеми живыми частицами с помощью removeChild). – am1987