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

Pages: « Précédente 1 [2]
16
Graphique / [Résolu] Zone d'affichage (pour sf::Text)
« le: Avril 12, 2012, 11:01:38 pm »
Bonjour, voilà pour ma gui j'ai un soucis

Voilà, maintenant j'ai un TextArea (un edit text en multi ligne)

Mais voilà, quand on fait défiler les scrollbar, sa fait bouger le texte... (sa doit servir à la faire défiler)

Mais le soucis, c'est que je ne sais pas comment faire en sorte de n'affiche que le texte dans la zone du TextArea

Avec Sprite, on a un fonction pour n'afficher qu'une partie du Drawable :
Sprite.SetTextureRect(sf::IntRect(200,200,300,150));

Mais, comment faire avec sf::Text ?

ps: N'existe t'il pas une technique d'afficher une sorte de camera 2D, dans un endroit ?
sf::Camera Camera;
Camera.SetSize(200,200);
Camera.SetPosition(50,50);

// Boucle d'affichage
Camera.Draw(Sprite);
Window.Draw(Camera);

17
Graphique / Re : La fonction Origin (est inversé ?)
« le: Avril 09, 2012, 01:35:02 pm »
Aaaah oui, d’accord ! c'est comme SetCenter de la version 1.6 !

Sa permet de dire d'où la position ou rotation et ... se fait ^^

Merci !

18
Graphique / Re : Re: La fonction Origin (est inversé ?)
« le: Avril 09, 2012, 01:24:11 am »
Oui, car tu attaques la mauvaise propriété. Il faut changer la position, pas l'origine.
Alors à quoi sert la fonction Origin ?

Bonjour,

Tiens justement...
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)

Je poste ici car il me semble que nous nous posons la même question.

Pourquoi ne pas simplement faire :
myText.SetPosition(demiL - (myText.GetGlobalBounds().Width / 2), demiH - (myText.GetGlobalBounds().Height / 2));

19
Graphique / [résolu] La fonction Origin (est inversé ?)
« le: Avril 01, 2012, 05:20:21 pm »
Par exemple, si j'ai un texte, en position 100,100 (et je veux lui créer un décalage de 50,50) pour qu'il s'affiche en 150,150

Et bien je dois faire : SetOrigin(-50,-50);
Au lieu de : SetOrigin(50,50);

Es-ce normal que sa fonctionne inversement ?

Pages: « Précédente 1 [2]