Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Où placer ma fonction  (Lu 2279 fois)

0 Membres et 1 Invité sur ce sujet

CatEndal

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Où placer ma fonction
« le: Août 29, 2017, 06:04:33 pm »
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

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Où placer ma fonction
« Réponse #1 le: Août 29, 2017, 08:43:26 pm »
Citer
(name.c_str).y

name est un std::string. name.c_str() avec les parenthèses serait un const char*, name.c_str sans les parenthèses n'a pas vraiment de sens, et (name.c_str).y alors là... je cherche encore ce que tu as voulu faire là :o

Bref, de toute façon tu as un problème de C++, pas de SFML, donc tu n'es pas vraiment au bon endroit, ce n'est pas là que tu avanceras dans ton apprentissage du langage mais plutôt avec des livres / tutoriels / cours de qualité ;)
Laurent Gomila - SFML developer

CatEndal

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re: Où placer ma fonction
« Réponse #2 le: Août 29, 2017, 09:07:32 pm »
D'accord, merci
Je m'en rend compte que c'était de la négligence, je m’excuse.