Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Tome_x le Avril 23, 2012, 02:59:02 pm

Titre: [SFML 2] Sprite::getLoacalBounds does not have a class type
Posté par: Tome_x le Avril 23, 2012, 02:59:02 pm
Bonjour monde !

Voici mon problème ; je cherche depuis quelques jours comment réaliser une collision AABB toute simple entre deux sprites (ou rectangles) jusqu'à ce que je trouve un tutoriel sur le site du zéro.
Je remplace ce qu'il faut et voici ce que le compilateur me dit :
C:\Users\Tome_x\Desktop\programmation\sfml3\objet.cpp|14|error: 'box2.sf::Sprite::getLocalBounds' does not have class type|

Et voici le code :
bool Objet::Collision(Sprite box1, Sprite box2)
{
   if((box2.getLocalBounds.left >= box1.getLocalBoundsleft + box1.getLocalBounds.weight)      // trop à droite
|| (box2.getLocalBounds.left + box2.getLocalBounds.width <= box1.getLocalBounds.left) // trop à gauche
|| (box2.getLocalBounds.top >= box1.getLocalBounds.left + box1.getLocalBounds.height) // trop en bas
|| (box2.getLocalBounds.top + box2.getLocalBounds.height <= box1.getLocalBounds.top))  // trop en haut
          return false;
   else
          return true;
}

J'ai pensé qu'il fallait utiliser « getLocalBounds ». À moins qu'il y ait autre chose qui me permette de récupérer les points des sprites...

J'avais cherché des codes de collisions mais c'était trop compliqué pour ce que je voulais faire.
Une idée pour la résolution de mon problème ? J'ai aussi cherché sur la doc mais j'ai pas trouvé :'( .

Code::Blocks 10.05 ; Mingw
Titre: Re : [SFML 2] Sprite::getLoacalBounds does not have a class type
Posté par: minirop le Avril 23, 2012, 04:04:29 pm
Si dans la doc (http://www.sfml-dev.org/documentation/2.0/classsf_1_1Sprite.php#a69557a8369bc2e26dd2e2eb2c50f5c90) il y a des parenthèses, c'est pas pour rien, c'est parce que c'est une fonction.
Titre: Re : [SFML 2] Sprite::getLoacalBounds does not have a class type
Posté par: Tome_x le Avril 23, 2012, 04:41:52 pm
Merci, je savais bien que j'avais un problème aussi bête  ::) , je m'y attendais...