Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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! yikes
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 smile


"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...

G.I.Bdeking a écrit :

Sinon, donnez moins un lien vers un bon forum SFML s'il vous plait smile

Le forum officiel ?

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