Bonjour à tous,
Je suis en train de coder un petit rpg dans lequel le personnage est capable de lancer des sorts et j'ai quelques questions:
Je stock chaque sorts(projectiles) créé dans un std::vector<Projectile> AllProjectile, et j'aimerais effacer du tableau chaque projectile se retrouvant hors écran mais voilà j'ai du mal.
J'ai essayé de récupérer le sf::IntRect de ma vue et de le comparer avec la position des projectiles:
for(int i =0; i < AllProjectile.size(); i++)
{
if(le projectile se trouve dans le IntRect)
{
NE RIEN FAIRE
}
else
{
AllProjectile.erase(AllProjectile.begin() + i);//On efface le projectile qui se trouve en dehors de la vue
}
//La manière dont je récupère le sf::IntRect
window.getViewport(window.getView);
//j'ai aussi essayé avec ça mais cela ne fonctionne pas non plus
window.getViewport(window.getDefaultView);
Mais bon cela fonctionne mal, les projectiles sont bien détruits une fois sorti de l'écran mais la zone semble fixe, si je déplace mon personnage et que la vue se déplace(scrolling) les projectiles seront toujours détruits au niveau de la vue de départ.
J'ai besoin d'aide s'il vous plait.
Merci