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 - virelio

Pages: [1] 2 Suivante »
1
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 24, 2015, 07:05:04 pm »
Nettoyage et recompilation avec la distribution de Nuwen = plantage. Comme la distribution inclus d'autre parties (boost, freetype2, ...), j'ai peur que le conflit ne viennent de là.

Je suis retourné sur TDM (ça marche) et vais inclure les lib de boost que j'utilise à côté...

Fin de l'histoire (pour le moment  ::) )

2
Graphique / [Résolu] SFML 2.2 - sf::Text - setString("")
« le: Janvier 24, 2015, 04:48:41 pm »
Gros nettoyage ! recherche et suppression de *sfml*.*...

re-re-compilation de l'ensemble avec TDM et...

RÉSOLU ! (mais je ne sais pas comment...) sans doute une vieille dll...

En tout cas, merci de votre aide.

ps: comme je suis joueur, je vais recompiler avec nuwen C++... pour voir

3
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 24, 2015, 02:52:32 pm »
Bonjour Laurent,

Non, mais le programme qui est à l'origine de ma recherche fonctionnait avec la dernière (?) version Github de SFML 2.1
Depuis, je suis passé à la nouvelle version de SFML et de GCC...

Comment est détruit sf::String (destructeur par défaut si je ne m'abuse) cela pourrait-il venir de là ?

Tu ne sembles pas avoir changé sf::String dernièrement, donc je ne comprends pas. Peut-être GCC, mais je compile avec l'option std=c++11, comme avant...

4
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 24, 2015, 12:00:44 pm »
Voici un programme qui ne plante qu'à la fermeture (!)
#include <iostream>
#include <SFML/Graphics.hpp>

using namespace std;

int main()
{
    sf::RenderWindow app(sf::VideoMode(800,600,32),"sf::String manipulation");

    app.setVerticalSyncEnabled(true);

    sf::Font arial24;
    if (!arial24.loadFromFile("arial.ttf")) return -2;

    sf::String a("plop");
    a.clear();                     // voilà la feinte !
    sf::Text text;
    text.setFont(arial24);
    text.setString(a);
    text.setPosition(200,300);

    while (app.isOpen())
    {
        sf::Event event;
        while (app.pollEvent(event))
        {

            if (event.type == sf::Event::Closed)  app.close();
        }

        app.clear(sf::Color::Blue);

        app.draw(text);  // le text "vide" s'affiche (impossible à voir mais ça tourne)

        app.display();
    }

    //si je dé-commente la ligne suivante le programme ne plante plus à la fermeture
    //text.setString("plop");  

    return EXIT_SUCCESS;
}

On progresse (?)

5
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 24, 2015, 11:48:33 am »
Bonjour,

Il ne s'agit pas d'une erreur à la compilation qui se passe sans même un warning que ce soit en mode release ou en mode debug (Je compile avec codeblocks et connais bien ce logiciel)

Le programme se lance "presque" ; à peine la fenêtre apparait-elle que j'ai le message "test_sfString.exe a cessé de fonctionner"

Si je remplace
text.setString("");
par
text.setString("plop");
le programme fonctionne normalement.

Je soupçonne sf::String car si je déclare
sf::String s("");
sans l'utiliser, j'ai le même plantage avec le même message à la fermeture.

J'ai le même comportement avec mingw issu de TDM...

Des avis ?

6
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 23, 2015, 11:11:06 pm »
Bonjour,

Nettoyage du PATH. Désinstallation/suppression de Cmake, SFML, Thor, Mingw
Réinstallation de MinGW (nuwen version 12.2)
Réinstallation de Cmake
Compilation de SFML
Compilation de Thor

Compilation et lancement de mon petit programme de test...
ça plante toujours ! :( >:(

Je compile via codeblocks... j'ai contrôlé les chemins de recherche... pour moi c'est ok...

Je sèche là !

7
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 21, 2015, 03:32:09 pm »
J'ai contrôlé le "path" et supprimé l'ancien dossier SFML.
J'ai également modifié les chemins de recherche de CodeBlocks que j'utilise. Tout se passe nickel sauf dans le cas précisé.

Je vais tenter une réinstallation complète de mingw (troisième fois !) et une recompilation de SFML (Github).

J'ai l'habitude de compiler régulièrement SFML et de mettre mingw à jour... première fois que j'ai cette "issue"
  ???

8
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 20, 2015, 11:13:48 pm »
chers utilisateurs de SFML 2.2

Avez-vous pu reproduire le plantage décrit avec le code fourni ?
Si ce n'est pas le cas, auriez-vous une idée du pourquoi ça plante chez moi ?

Merci


9
Graphique / Re : SFML 2.2 - sf::Text - setString("")
« le: Janvier 19, 2015, 09:51:05 pm »
Bonjour,

Tu veux dire que setString("plop") ne fait pas planter ?
Tout à fait, le programme plante si la chaine donnée en paramètre est vide. Ce comportement n'était pas celui que j'avais auparavant. (quelques heures à trouver pourquoi le programme qui tournait sans problème avant, plantait au deuxième écran...  :o)

D'autre part, si ma sf::String est construite sans être expressément initialisée avec une chaîne non vide, j'ai un plantage à la fermeture.

J'ai recompilé avec TDM... Idem !

10
Graphique / [résolu] SFML 2.2 - sf::Text - setString("")
« le: Janvier 18, 2015, 12:47:00 pm »
Bonjour,

Je suis passé de SFML 2.1 à la dernière mouture. J'ai une erreur à l'exécution que je n'avais pas avant:
#include <iostream>
#include <SFML/Graphics.hpp>

using namespace std;

int main()
{
    sf::RenderWindow app(sf::VideoMode(800,600,32),"sf::String manipulation");

    app.setVerticalSyncEnabled(true);

    sf::Font arial;
    if (!arial.loadFromFile("arial.ttf")) return -2;

    sf::Text text;
    text.setFont(arial);
    text.setString("");
    text.setPosition(200,300);

    while (app.isOpen())
    {
        sf::Event event;
        while (app.pollEvent(event))
       {
            if (event.type == sf::Event::Closed)  app.close();
        }

        app.clear(sf::Color::Blue);

        app.draw(text);

        app.display();
    }

    return EXIT_SUCCESS;
}
 

Le fait de mettre text.setString(""); fait planter l'application.

Le simple fait de déclarer
 sf::String s;
et de ne pas l'utiliser fait également planter l'application à la fermeture.

Que se passe-t-il ? Auparavant, l'on pouvait afficher un sf::Text comprenant une sf::String vide ce qui évitait des tests nombreux.

J'ai compilé SFML à partir des sources grâce à la dernière version mingw de Nuwen (11.6 avec GCC 4.8.2)

11
Graphique / Re : Comment centrer une lettre sur des coordonnées ?
« le: Avril 09, 2012, 10:24:23 pm »
myText.setOrigin(rg.width/2 + rg.left, rt.top - rg.top/2);
c'était simple  ;)

12
Graphique / Re : Comment centrer une lettre sur des coordonnées ?
« le: Avril 09, 2012, 10:19:25 pm »
Et bien non Laurent... voilà ce qu'il faut faire :

sf::Glyph glyph = myFont.getGlyph( (sf::Uint32)myString[0], myText.getCharacterSize(), false);
sf::IntRect rg = glyph.bounds;
sf::FloatRect rt = myText.getGlobalBounds();
myText.setPosition(demiL - rg.width/2 - rg.left, demiH - rt.top + rg.top/2);

Autant le centrage droit-gauche est basique autant celui haut-bas est quand-même bizarre. J'ai testé avec différentes polices et différentes tailles : mes lettres restent parfaitement centrées.
J'aimerais maintenant les faire tourner autour de leur centre ces foutus lettres... 
Je vais donc m'attaquer à règler setOrigin()...

13
J'utilise le code ci-dessous pour centrer une lettre sur la position demiL, demiH.
Le centrage horizontal est correct mais le centrage vertical est mauvais et différent selon que la lettre est ronde (O, Q C) ou non.

    sf::Glyph glyph = myFont.getGlyph( (sf::Uint32)myString[0], myText.getCharacterSize(), false);
    sf::IntRect r = glyph.bounds;
    myText.setPosition(demiL - (r.width - r.left)/2 - r.left, demiH + (r.top - r.height)/2 );

Quelle est la bonne méthode et à quoi correspond, du point de vue position r.top et r.left (r = glyph.bounds)

Assouan:
Citer
Pourquoi ne pas simplement faire :

myText.setPosition(demiL - (myText.setGlobalBounds().width / 2), demiH - (myText.getGlobalBounds().height / 2));

Ceci ne centre pas les lettres car le point d'origine de chaque lettre lui est propre afin d'assurer leur alignement horizontal sur "la ligne de base".

14
Graphique / Re : La fonction Origin (est inversé ?)
« le: Avril 09, 2012, 02:39:41 pm »
de Laurent
Citer
Pas vraiment non. C'est malin, maintenant on a deux problèmes mélangés, et j'ai la flemme de les démêler.

Ok, je crée un nouveau post...   

15
Graphique / Re : Problème avec les postFX
« le: Avril 07, 2012, 06:32:30 pm »
Bonjour,

Je dirais que l'erreur vient de
tmp=mapbuffer(tilepos);
la doc GLSL me donne :

void *MapBuffer(enum target, enum access);
avec access: READ_ONLY, WRITE_ONLY, READ_WRITE


Pages: [1] 2 Suivante »