Bonjour à tous,
Je veux créer un shoot em' up en scrolling horizontal, et il y aura donc des ennemis utilisant tous les mêmes caractéristiques qui seront créés au fur et à mesure du niveau, pouvant eux-mêmes appeler une fonction créant un objet de type projectile afin d'attaquer.
Cependant je me demandait comment faire pour gérer tous ces sprites qui seront créés et détruits pendant le jeu: est-ce que je les stocke dans un vector<sf::Sprite> et je vérifie le contenu de chaque case du vecteur, pour effectuer des actions en fonctions de ce contenu (par exemple, en admettant qu'on ai une classe Fireball, quelque chose comme
for(int i(0); i<SpriteVector.size(); i++
{
if(SpriteVector[i] == Fireball)
{
move(1,0);
}
}
ou bien il y a (je m'en doute) une autre manière de faire?
Heu, en fait, après avoir recherché un peu, j'ai bien compris cette histoire de GameStates, mais j'arrive pas à comprendre ce qu'est une scenenode. Du coup j'avais essayé de faire ça de la manière suivante:
std::vector<sf::Sprite> SpriteVector;
for(int i(0); i<SpriteVector.size(); i++)
{
if(std::find(SpriteVector[i], SpriteVector[i+1], Fireball))
{
SpriteVector[i].move(15,0);
}
}
En admettant que l'on ai une classe Fireball, vu que j'ai vu qu'il fallait chercher ainsi si telle case d'un conteneur contenait tel objet ou valeur. Cependant, le compilateur me sors l'erreur
Error: expected primary-expression before ')' token
à la ligne du if.
Quelqu'un sais ce que je fais mal?