#1 Le 12/04/2013, à 18:28
- G.I.Bdeking
"...de simples objets...", qu'il disait...
Bonjours à toutes et à tous, pour une fois, mon problème est simple!
Voila, en fait, j'aimerais qu'un objet puisse appeler des méthodes d'un autre objet existant préalablement créés dans un autre endroit (par exemple le main).
Voila!
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#2 Le 12/04/2013, à 19:31
- Jules Petibidon
Re : "...de simples objets...", qu'il disait...
Bah généralement, le plus logique est de passer une instance de l'objet cible à l'objet appelant.
Après d'autres méthodes peuvent exister suivant le langage que tu utilises.
Hors ligne
#3 Le 12/04/2013, à 19:34
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
ah oui, désolé: C++
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#4 Le 12/04/2013, à 19:43
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
En fait, j'aimerais faire ça en SFML:
#include </home/alexis/programmes/C++/SFML/en développement actif/TGui/TBouton.hpp>
#include <iostream>
using namespace std;
TButton::TButton(std::string chemin, int positionX, int positionY, sf::RenderWindow &fFenetre) :
m_positionX(positionX), m_positionY(positionY), m_cheminImage1(chemin)
{
m_Fenetre=&fFenetre;
if (!m_Button.LoadFromFile(m_cheminImage1))
cout<<"probleme de chargement de l'image"<<endl;
}
void TButton::show()
{
m_Bouton.SetImage(m_Button);
m_Bouton.SetX(m_positionX);
m_Bouton.SetY(m_positionY);
m_Fenetre->Draw(m_Bouton);
}
void TButton::setPositionX(int position)
{
m_positionX=position;
}
void TButton::setPositionY(int position)
{
m_positionY=position;
}
#ifndef TBOUTON_HPP_INCLUDED
#define TBOUTON_HPP_INCLUDED
#include <SFML/Graphics.hpp>
#include <iostream>
class TButton
{
protected://Tout ce qui suit n'est accessible que par la classe et ses eventuelles classes filles
///attributs:
float m_positionX;//variable qui stocke la position X actuelle du bouton
float m_positionY;//stocke la position Y actuelle du bouton
int m_tailleX;//Cette variable, associée à tailleY, permet à la methode show de déduire le rectangle qu'occupe le bouton sur l'ecran
int m_tailleY;//Cette variable, associée à tailleX, permet à la methode show de déduire le rectangle qu'occupe le bouton sur l'ecran
sf::RenderWindow *m_Fenetre;
std::string m_cheminImage1;//Le chemin relatif/absolu de l'image qui matérialisera le bouton
sf::Image m_Button;
sf::Sprite m_Bouton;
public://Tout ce qui suit est accessible de n'importe où
///constructeur(s) et destructeur:
TButton(std::string, int, int, sf::RenderWindow&);//Premier constructeur surchargé, il permet de créer un bouton avec une seule image
///methodes:
void show();
void setPositionX(int);
void setPositionY(int);
};
#endif // TSHOWBUTTON_HPP_INCLUDED
mais ca 'affiche rien sur l'image
Dernière modification par G.I.Bdeking (Le 12/04/2013, à 20:57)
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#5 Le 12/04/2013, à 20:24
- Jules Petibidon
Re : "...de simples objets...", qu'il disait...
Sachant que je ne parle pas le C++ et que je ne connais pas plus SFML, je dirais comme ça que ceci :
void TButton::show(sf::RenderWindow &Fenetre)
{
m_Bouton.SetImage(m_Button);
m_Bouton.SetX(m_positionX);
m_Bouton.SetY(m_positionY);
Fenetre.Draw(m_Bouton);
}
devrait plutôt ressembler à ça :
void TButton::show(sf::RenderWindow &Fenetre)
{
m_Bouton.SetImage(m_Button);
m_Bouton.SetX(m_positionX);
m_Bouton.SetY(m_positionY);
m_Fenetre.Draw(m_Bouton); //utilisation de l'instance que tu as enregistré dans ton constructeur
}
À vue de pied hein...
Hors ligne
#6 Le 12/04/2013, à 20:58
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
merci! ce n'était pas ca l'erreur mais je vous ai donné un code sensiblement plus vieux que l'actuel (j'ais désormais modifié mon message ci dessus) c'est pour ca cette erreur bête... aux connaisseurs de SFML de trancher!
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#7 Le 13/04/2013, à 08:41
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
Sinon, donnez moins un lien vers un bon forum SFML s'il vous plait
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#8 Le 13/04/2013, à 19:13
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
up
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#9 Le 14/04/2013, à 20:10
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
hey? vraiment personne cette fois?bon...
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#10 Le 15/04/2013, à 05:39
- grim7reaper
Re : "...de simples objets...", qu'il disait...
Sinon, donnez moins un lien vers un bon forum SFML s'il vous plait
Hors ligne
#11 Le 15/04/2013, à 18:10
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
oh oui merci pourquoi pas...
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne
#12 Le 15/04/2013, à 18:10
- G.I.Bdeking
Re : "...de simples objets...", qu'il disait...
et puis c'est pas un probleme lié à la SFML mais au c++ en général
"Le désir sincère d'aider est l'essence du logiciel libre. Trouvez y un poste où vous serez utiles, même si ce n'est que de répondre aux libristes sur des forum, et vous trouverez votre place dans ce nouveau monde."
Hors ligne