Dans un projet C/C++, le tout allié avec un peu de SDL pour que l'utilisateur ne soit pas trop perdu. En gros je lui fait un interface graphique mimi pour que monsieur lambda ne panique pas et puisse cliquer gentillement sur tout plein de petits boutons... (si seulement il connaissait la ligne de commande )
Bref, dans l'histoire j'aurais donc besoin de pouvoir faire des boutons et des zones de saisie en SDL, un peu comme un formulaire web et de pouvoir récupérer les données dans une ou plusieurs variables.
Quelqu'un saurait-il faire celà ou peut être est-ce que celà fera parti d'un futur cours??
Déjà, tu auras besoin de la librairie SDL_TTF, pour l'affichage du texte dans la zone de saisie.
Tu aura besoin d'une var (char saisieTexte[100] ou [200]..). Lorsque l'utilisateur de tonn prog appuie sur une touche, tu en récupère la valeur ascii, et tu l'affecte à un élément du tableau saisieTexte (saisieTexte[1],[45]..)
Et à chaque tour de boucle tu affiche le texte sur ton écran..
J'ai jamais essayé, c'est surement du n'importe quoi ce que j'ai dit, mais ca devrait etre globalement ca..
Tu peux simuler une zone de texte en sdl mais ça demande du travail et c'est jamais très pratique.
Je te conseille plutôt d'utiliser une librairie comme GTK+ si tu veux créer des zones de texte et des fenêtres. La SDL est moyennement adaptée pour ce que tu veux faire.
Il me semble que c'est ce que je cherche, mais j'ai un peu de mal (pour ne pas dire beaucoup) à installer les librairies GTK+ sur CodeBlock et à configurer le compliteur... quelqu'un pourrait-il me donner un coup de pouce?
Moi j'ai fait une fonction, mais elle est pas encore terrible.
Enfin je balance si tu veux:
int createTextField(SDL_Surface* screen, int x, int y, int w, SDL_Event* event, players *field, char* fontName, int fontSize, Uint32 iColorText,
Uint32 iColorField){
//init et variables if(!TTF_WasInit())
TTF_Init();
SDL_EnableUNICODE(1);
x+=2;
y+=2;
Tu peux modifier ca c'est pour mon morpion en fait la variable text contient le texte du champ, pseudo le pseudo du joueur (je fais un strcpy après), et active contient 1 si tu cliques sur le champ et 0 si tu cliques a coté.
Donc on reprend les arguments :
le chemin vers la police (exemple "font/arial.ttf"), la taille et deux SDL_MapRGB, un pour la couleur du texte et l'autre pour la couleur du champ.
Bug connu : quand on est au début du champ, si on appuie sur majuscule, le prog quitte, je sais pas pourquoi!
Donc à améliorer.
Bon, après avoir passé prêt de 5 heures à essayer d'installer ces fichus librairies, j'abandonne le coeur lourd et plein de regrets (surtout passablement nerveux).
Petite question, M@teo21 fera t'il un cours sur GTK+ ou quelque chose du genre afin d'inserer des boutons, zones de texte, barres déroulantes et autres widgets ?
A bientôt et bravo pour ceux qui ont compris comment installer tout ce joyeux foutoire. Je suppose qu'une fois qu'on sait comment le faire, c'est simple. Moi, je ne sais pas!^^
Salut tout le monde!
Je suis pas sur de ce que je dis mais sa pourait être possible de dessiner les boutons et les zones de saisi texte.
Pour les boutons déja tu peus dessiner trois bouton
Un normal
Un appuyer
Un relacher
Ensuite tu verifie quand l'utilisateur clique si les coordonné correspondent à la place de ton bouton met l'image du bouton appuyer et quand il relache l'image du bouton relacher puis agit en fonction du bouton cliquer.
Pour la zone de saisie du texte tu peus faire un rectangle blanc(comme c'est original) et le truc qui clignote quand tu clique dans cette fenetre(un gif animé)tu peus telecharger quelque chose pour gerer les lettres avec la sdl mais tu peus aussi prendre la police que tu veu faire une capture d'ecrans et enregistrer chaque lettre dans un jpeg puis a chaque fois qu'il appui au clavier tu ecrit dans un fichier texte à part et inscrit l'image de la lettre à l'écran et avance le truc qui clignote de la langueur de l'image de la lettre...
Voila je sais pas si je me suis bien fait comprendre en tout cas ce que j'ai dis me parait possible et comprehensible après avoir lus les cours de m@teo
SDL - Zone d'entrée 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.
If you'd like to join us, read "How do we work at OpenClassrooms"! :)