Я делаю игру в sfml и в момент, когда все враги умирают. Тем не менее, они настроены на респаун, но когда это происходит, они возрождаются одним дополнительным спрайтом, чем раньше.Экстремальный спрайт, когда враги перерисовываются SFML
Код для загрузки в спрайтов
unsigned int orcNumber = 5;
for (int i = 0; i < orcNumber; i++)
{
SpriteVector.push_back(ogreSprite);
SpriteVector[i].setPosition(spawnPointX[i], spawnPointY[i]);
}
код для удаления врагов, если они закадровый или выстрел аналогичен ниже с использованием стирания.
for (unsigned j = 0; j < SpriteVector.size(); j++)
{
if (this->SpriteVector[j].getPosition().x < 0 - 80)
{
//this succesfully removes the object from the vector
SpriteVector.erase(SpriteVector.begin() + j);
std::cout << "Container size..." << SpriteVector.size() << "\n";
}
}
Заявление для перерисовки них:
unsigned int orcNumberRespawn = 5;
if (SpriteVector.size() <= 1)
{
for (int i = 0; i < orcNumberRespawn; i++)
{
SpriteVector.push_back(ogreSprite);
SpriteVector[i].setPosition(spawnPointX[i], spawnPointY[i]);
}
}
window.draw(SpriteVector[i]);
Можно ли определить, почему, когда спрайты должны быть перерисованы он рисует + 1 спрайт каждый раз?
x-post: http://en.sfml-dev.org/forums/index.php?topic=17770.0 – Lukas