1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
Uint32 move_world (Uint32 iv, void *arg){
std::list<Sprites::CRocket*> rockets = Player->getRockets();
std::list<Sprites::CRocket*>::iterator iter;
std::list<Sprites::CShooter*>::iterator shiter;
Uint32 *t = (Uint32*) arg;
SDL_Delay (*t);
if (!Pause){
bg->blitImage(screen);
Player->move();
Player->blitImage(screen);
for (shiter=shooters.begin(); shiter != shooters.end(); ++shiter){
(*shiter)->move();
(*shiter)->blitImage(screen);
}
for (iter=rockets.begin(); iter != rockets.end(); ){
Sprites::CRocket* r = *iter;
if (!r->canMove()){
iter = rockets.erase(iter);
rockets.remove(r);
delete r;// ############### PROBLEME###############
}
else
{
(*iter)->move();
(*iter)->blitImage (screen);
++iter;
}
}
SDL_Flip (screen);
}
return iv;
} |
Partager