SFML est assez bas niveau, ce n'est pas un toolkit graphique comme le sont Gtk, Qt, wxWidgets. Si tu veux faire un système de texte tu dois le gérer toi même et ça va consister en :
Capter les changements de texte (avec sf::TextEvent principalement)
Découper le texte en plusieurs parties si tu veux afficher le texte sur plusieurs lignes
Dessiner.
Contrairement à SDL, je ne suis pas sûr que SFML gère les autres cas. Par exemple, sous Android la saisie est pas forcément la même puisque les claviers visuels permettent parfois l'insertion de mots entiers plutôt que lettre par lettre. Enfin bref, ce n'est pas une chose aisée en soi.
Il existe des bibliothèques neutres (c'est à dire indépendantes) comme imGui et nuklear qui permettent de faire un peu d'UI. Le deuxième a une implémentation d'exemple avec SFML.
- Edité par markand 15 janvier 2020 à 9:16:21
git is great because Linus did it, mercurial is better because he didn't.
Nuklear semble approprié sauf que cela demande beaucoup. Je sais meme pas où mettre le dossier contenant la bibliotheque en question, ils parlent aussi d'ajouter des flags. Bref, y'a trop de choses qu'ils n'expliquent pas si ils le font, c'est dans un anglais brut. @markand si tu pouvais me dire comment l'utiliser ce serait bien, merci.
Je vais me contenter de sf::TextEvent en t'attendant
J'ai pas pu intégrer nuklear, je suis donc avec sf::TextEntered.
Mais je sais pas comment reglré le delai, quand j'entre le texte a une certaine vitesse, ça ne s'affiche pas. Je dois écrire 1 caractere par seconde. Comment regler cela svp
J'ai telechtélé TGUI, je pense que ça va faciliter la tache pour les champs de texte et peut être résoudre mon problème de délai entre les touches.
markand a écrit:
Je ne sais pas, je pense que pour nuklear la question est plus appropriée sur leur github.
Je comprends l'anglais mais dans leurs instructions je comprends rien, j'ai téléchargé tout le nécessaire mais je sais plus quoi faire, où mettre ces fichiers.
- Edité par Asmitta 17 janvier 2020 à 10:10:13
[SFML 2.5] Champ de texte ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
git is great because Linus did it, mercurial is better because he didn't.
git is great because Linus did it, mercurial is better because he didn't.