Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

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

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

En 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

Haut de page ↑