2015-03-22 3 views
0

Я делаю игру в 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 спрайт каждый раз?

+1

x-post: http://en.sfml-dev.org/forums/index.php?topic=17770.0 – Lukas

ответ

0

Вопрос был с петлей вне этих векторных петель.

Смежные вопросы