En fait je possède un tableau en 2 dimensions avec lequel je voudrais faire des collisions avec mon sprite quand la tuile est différente de 30 (tuile vide). Du coup dans personnage.hpp j'ai les méthodes qui me retourne la position en x et en y de mon joueur et j'ai _masque qui est une copie de level mais lorsque je tente de faire if(_masque [_perso.PosX ()][_perso.PosY ()]!=30)
{
cout <<"collision"<<endl;
}
Ce qu'il se passe est que je détecte bien ma collision mais qu'au bout de x temps j'ai un segmentation fault à cause de la taille de mon tableau par rapport à la position du sprite et ne voit pas comment régler ce soucis car en augmentant la taille de celui-ci je ne détecte plus correctement la collision.
Finalement j'ai reussi à créer des sf::RectangleShape qui arrive à recuperer la position de mes collisons mais quand je test mes headbox rien n'affiche les collisions.
Ce qui teste mes collisions :
for (int y = 0; y < 19; y++){
for (int x = 0; x < 25; x++){
_headboxRect=_rectangle[y][x].getGlobalBounds(); // _rectangle [y][x] correspond aux rectangles bleu sur l'image
if(_headboxPerso.intersects(_headboxRect))
{
cout<<"collision"<<endl;
}
}
}
Je ne comprend pas pourquoi cela ne fonctionne pas, si vous pouviez juste m'indiquer une piste à explorer afin de ces intersections puisse fonctionner je vous remercie