Bonjour,
j'ai créé une fonction pour créer plus rapidement les collisions aux décors comme ceci :
void colision(const std::string name, float longeur, float hauteur)
{
if ((((posPerso.y) + persoSizeY) >= ((name.c_str).y - 1)) && (((posPerso.x) > ((name.c_str).x)) && (posPerso.x) < (((name.c_str).x) + longeur)) || ((posPerso.x) + persoSizeX) > ((name.c_str).x) && ((posPerso.x) + persoSizeX) < (((name.c_str).x + longeur))) //détècte la colision venant du bas
{
atSol = true; //dis si le sprite touche un décors, donc est au sol
}
else
atSol = false;
}
// a répéter 4 fois pour chaque cotés
problème, peu importe ou je place ma fonction, le message d'erreur "left of '.x' must have a class/structure/union" s'affiche ( et pareil pour .y), alors comment faire ?
Je précise que ce code fonctionne hors de la fonction