Есть ли более эффективный способ очистки моих CCNodes? Я вызываю эту функцию (и другие подобные ей для разных игровых объектов), по таймеру.Есть ли более эффективный способ очистки моих CCNodes?
- (void)pulseBullets:(NSMutableArray *)bs targets:(NSArray *)targets {
for (Bullet *b in bs) {
for (QuantumPilot *p in targets) {
if (p.active) {
[p processBullet:b];
if (!p.active) {
[self processKill:p];
}
}
}
}
NSMutableArray *bulletsToErase = [NSMutableArray array];
for (Bullet *b in bs) {
[b pulse];
if ([self bulletOutOfBounds:b]) {
[bulletsToErase addObject:b];
}
}
for (Bullet *b in bulletsToErase) {
[b removeFromParentAndCleanup:YES];
}
[bs removeObjectsInArray:bulletsToErase];
}
«эффективный» смысл, что именно? Меньше кода? Меньше использования памяти? Быстрее код? Легче поддерживать? Какую часть этого кода вы считаете неэффективной, и все это? – LearnCocos2D
Все они будут «лучше». Быстрее, меньше использования памяти. – quantumpotato
Лучше как «решить известную проблему производительности, которую можно измерить и приписать этим конкретным строкам кода?» – YvesLeBorg