Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Higestromm

Pages: [1]
1
Système / Re : Visual c++2015
« le: Mars 07, 2016, 05:36:31 pm »
Bon j'ai tenter d'ajouter le truc ... mais comme je suis un noob dans le domaine, je crois que j'ai juste réussi a fouttre le bordel :/

2
Système / Visual c++2015
« le: Mars 07, 2016, 05:08:00 pm »
Bonjour,

Je suis passé aujourd'hui sous Visual c++ 2015 et j'ai un message d'erreur :

'back_inserter' : n'est pas membre de 'std' dans sfml-2.3.2\include\sfml\system\string.inl   31

ligne 31 on à ca :
template <typename T>
String String::fromUtf8(T begin, T end)
{
    String string;
    Utf8::toUtf32(begin, end, std::back_inserter(string.m_string));
    return string;
}
 

En cherchant un peu sur le net je suis tombé sur cette discutions :
http://stackoverflow.com/questions/2959234/vs2008-vs2010-leads-to-cryptic-stl-errors

Qui elle mène vers ça :
https://msdn.microsoft.com/en-us/library/bb531344.aspx

A priori, avec la dernière version de visual c++ il faudrait ajouter manuellement :
#include <iterator>

Je dit une connerie ou pas ?

3
Graphique / Re : Positionner un sf::text verticalement
« le: Juillet 18, 2015, 05:58:52 pm »
Bon bah heu...


no comment  ::)

4
Graphique / [RESOLU] Positionner un sf::text verticalement
« le: Juillet 18, 2015, 01:53:13 pm »
Bonjour,

J’essaie d'afficher un sf::text centré dans un bouton mais je constate que l'alignement vertical n'est pas correct lors de l'affichage. Dans l'exemple ci-dessous, j'affiche un sf::text entoutré d'un rectangle qui est sensé représenter sa zone d'affichage mais le sf::text s'affiche en dessous.

void SLabel::draw(sf::RenderTarget &p_target, sf::RenderStates p_states) const
{
        // label est un membre de ma classe de type sf::text

        p_states.transform *= getTransform();

        sf::RectangleShape rect(sf::Vector2f(label.getLocalBounds().width, label.getLocalBounds().height));
        rect.setPosition(label.getPosition());
        rect.setOutlineColor(sf::Color::Red);
        rect.setFillColor(sf::Color::Transparent);
        rect.setOutlineThickness(1);

        p_target.draw(rect, p_states);

        p_target.draw(label, p_states);
}

En cherchant par-ci par-là j'ai lu que la zone d'affichage d'un sf::text dépendaient de la hauteur du plus haut caractère contenu dans la police et non du plus haut caractère affiché.

Du coup je suis un peu paumé. Apparemment getLocalBound me retourne bien la hauteur maximale de mon texte affiché donc il faudrait que je connaisse la hauteur du plus haut caractère de ma police pour créer un décalage et du coup positionner correctement mon sf::text.

Comment connaitre cette taille ?

Merci

5
Graphique / Re : Affichage d'un sprite qui apparait en blanc ... parfois
« le: Juillet 01, 2015, 03:44:54 pm »

6
Graphique / Affichage d'un sprite qui apparait en blanc ... parfois
« le: Juillet 01, 2015, 03:31:01 pm »
Bonjour,

Je code actuellement un mini GUI dont les widgets sont des images.

Donc pour pouvoir afficher une Frame par exemple j'utilise une image que je découpe en 9 et que je positionne comme il faut pour avoir quelque chose de propre.

Jusqu'ici tout vas bien...

La ou ca déconne c'est que pour éviter de charger 25 fois la même skin en mémoire, je place les images dans une classe dont je récupère un singleton pour accéder aux données :



class SFMLGuiData
{
/*---------------------------------*/
/*-- CONSTRUCTEURS / DESTRUCTEURS --*/
/*---------------------------------*/

public : SFMLGuiData(void);

public : ~SFMLGuiData(void);

/*----------------*/
/*-- ACCESSEURS --*/
/*----------------*/

public : static SFMLGuiData& SFMLGuiData::GetInstance();

/*----------------------*/
/*-- AUTRES FONCTIONS --*/
/*----------------------*/

public : void LoadGui(std::string p_guiName);

/*---------------------*/
/*-- DONNEES MEMBRES --*/
/*---------------------*/

public : sf::Texture tsframe[9];
public : int sFrameCutSize;
};


// Ici je récupère mon singleton
SFMLGuiData& SFMLGuiData::GetInstance()
{
        static SFMLGuiData guidata;
        return guidata;
}

void SFMLGuiData::LoadGui(std::string p_guiName)
{
        // Je charge mon image et je la découpe en 9 textures
        sf::Image img;
        img.loadFromFile("data/gui/" + p_guiName + "/sframe.png");

        sFrameCutSize = img.getSize().x/3;
        int i(0);
        for (int y(0);y<3;y++)
                for (int x(0);x<3;x++)
                {
                        i=y*3+x;
                        tsframe[i].loadFromImage(img,sf::IntRect(x*sFrameCutSize, y*sFrameCutSize, sFrameCutSize, sFrameCutSize));
                        tsframe[i].setRepeated(true);
                }
}
 


Avec ca je créer mon widget et je l'affiche comme suit :

SFrame::SFrame(....) :
{
        SFMLGuiData &data = SFMLGuiData::GetInstance();
        for (int i(0);i<9;i++) sframe[i].setTexture(data.tsframe[i]);
}

void SFrame::draw(sf::RenderTarget &p_target, sf::RenderStates p_states) const
{
        // On dessine la frame
        p_states.transform *= getTransform();
        for (int i(0);i<9;i++) p_target.draw(sframe[i], p_states);
}

Une SFrame est inclus dans un vecteur qui ressemble a ca :
private : std::vector<SWidget *> widgetList;

Le truc c'est que tout s'affiche correctement a partir du moment ou je ne quitte pas ma fenêtre de jeu pour en ouvrir une autre (en gros le vecteur de SWidget est détruit totalement et un autre est créer).
Des que je passe a une autre fenêtre j'ai une zone blanche qui apparait dans mon affichage.
Normalement mon singleton n'étant pas détruit, les textures ne doivent pas l'être et donc mes images devraient s'afficher correctement.

J'ai beau relire je ne trouve pas d'ou viens mon erreur.

Quelqu'un peux m'aider ?

Je vais poster des screenshots pour bien montrer

7
Graphique / Re : [Résolu] Meilleure technique de clipping ?
« le: Juin 29, 2015, 05:04:42 pm »
Bon... j crois que j'ai ma réponse ici :

http://fr.sfml-dev.org/forums/index.php?topic=7581.0

8
Graphique / Re : [Résolu] Meilleure technique de clipping ?
« le: Juin 29, 2015, 04:53:19 pm »
Bonjour,

Je reviens sur ce sujet car je souhaite également utiliser une zone de clipping dans un projet de GUI.

Donc j'ai des Widgets qui héritent de Drawable et Transformable et qui contiennent eux aussi une liste de Widget.

Jusqu'ici tout vas bien et on se trouve a peu près dans le même cas de figure qu'en haut.

Donc je m'attaque au clipping et je lit a peu près partout que sf::view est une bonne solution. Par contre j'ai du mal a comprendre comment cela pourrais m'aider car finalement, si je comprend bien, un sf::view va simplement prendre la zone aux coordonnée par un rectangle pour le "coller" dans un autre endroit.

Mais du coup, cela implique que ce qui déborde de mon Widget vas tout de même déborder. C'est comme si je découpais un bout de mon écran pour le recoller au même endroit.

J'imagine qu'il y a un truc que j'ai pas du bien comprendre...

Sinon j'ai réfléchis à un système de Buffer avec des tsf::textures mais la je me pose des questions sur la consommation mémoire d'un truc pareil et surtout comment gérer des Widget redimensionnables sans allouer l'équivalent d'un écran par fenêtre, même petite.

Enfin bref si je pouvais avoir un petit éclaircissement ça serait cool :)

Pages: [1]