У меня есть класс, который называется Projectiles, который наследуется от класса CCSprite,
В настоящее время существует 2 типа снарядов, rain1 и rain2.
У меня есть метод, который создает кучу этих спрайтов каждые 2 секунды, чтобы создать иллюзию пульсирующего дождя.
Каждый из этих дождевых спрайтов добавляется в массив _пуляций и действует под действием силы тяжести.
На самом деле, он работает почти идеально, за исключением управления памятью, и вскоре после того, как этот цикл дождя продолжает создавать спрайты, я получаю огромное снижение частоты кадров.
В идеале, если дождь (под действием силы тяжести) падает ниже высоты экрана, я хочу, чтобы спрайт дождя был удален. Удалено из массива _projectiles, полностью удалено из представления!
Мой код этого не делает! Пожалуйста, мне нужна помощь ...
Вот фрагмент:
for (Projectile *rain1 in _projectiles){
if (rain1.position.y < -winSize.height) {
rain1 = nil;
[_projectiles removeObject: rain1];
[self removeChild:rain1 cleanup:YES];
[rain1 release];
}
}
for (Projectile *rain2 in _projectiles){
if (rain2.position.y < -winSize.height) {
rain2 = nil;
[_projectiles removeObject: rain2];
[self removeChild:rain2 cleanup:YES];
[rain2 release];
}
}