Обнаружение столкновений на основе данных

Я пытаюсь сделать обнаружение столкновений с точки зрения данных. Я хочу убрать врага после обнаружения столкновения, не уверенный, как сделать его максимально оптимальным для процессора, сейчас я делаю так:

bool EnemyManager::isCollidedWithBullet(float x, float y, int& numEnemies){
for(auto it = positions.begin(); it != positions.end(); ++it){

// Collision detected
if(x > it->first && x < it->first+enemyWidth && y < it->second + enemyHeight){
positions.erase(it);
numEnemies = positions.size();
return true;
}

}
return false;
}

Можно ли сразу удалить целую пару из вектора, как я это делаю сейчас, или я должен каким-то образом сохранить все «обнаруженные» столкновения в другом векторе и продолжить оттуда? Я новичок, чтобы думать с точки зрения данных, и любая помощь будет оценена.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector