[SFML][Nuklear] Ajouter Nuklear.h a mon projet

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Salut, comme mon titre l’indique, je voudrais savoir comment ajouter le dossier de Nuklear a mon projet. Je travaillais en sfml au niveau des champs de texte, j’ai reussi a faire quelque chose de bon mais le delai entre les touches a l’air grand. Quand j’entre un mot rapidement il n’entre pas, faut que je tape une touche par seconde et c’est un peu saoulant si je dois partager mon application. J’ai donc entendu parler de Nuklear qui pouvais etre integrer a la sfml et qui disposait de TextBox(zones de saisies). J’ai telechargé le dossier de Nuklear mais je sais plus comment faire. Sur leur site tout est purement en anglais, je pensait connaitre l’anglais mais je comprends rien.

C++ the Best….##

+0 -0

Salut,

Sur leur site tout est purement en anglais, je pensait connaitre l’anglais mais je comprends rien.

Sur ce point en particulier, si tu n’as pas de limite de temps particulière sur ce projet, tu pourrais en profiter pour essayer de comprendre au maximum ce que tu peux en utilisant un dico en face. C’est en s’exposant le plus possible à l’anglais qu’on progresse.

I don’t mind that you think slowly, but I do mind that you are publishing faster. — W. Pauli

+4 -0

Pour les incultes comme moi qui se posent la question sur ce qu’est Nuklear : https://github.com/vurtun/nuklear

Il s’agit donc d’une bibliothèque permettant d’ajouter de la GUI / HUD à des projets SFML 2D. Sympa. :)

Pour mon projet personnel, j’ai fait l’erreur d’écrire mon propre moteur de GUI. Aujourd’hui je m’en mords un peu les doigts (même si le projet est en pause) et je compte bien essayer d’utiliser un tel outil pour faciliter mon travail.

Bref, désolé pour le message inutile pour le PO, mais je me dis que ça pourrait aider quelque âme perdue qui passe par là…

Sinon, comme autres options, il existe https://tgui.eu/ qui dispose même de son éditeur de fenêtre, ou encore https://github.com/swordfatih/CNGui.

+0 -0
Auteur du sujet

Sinon, comme autres options, il existe https://tgui.eu/ qui dispose même de son éditeur de fenêtre, ou encore https://github.com/swordfatih/CNGui.

Ge0

Oui, je connais ça mais l’installation derange, j’ai du faire une erreur mais je ne sais pas où. Y’a erreur de compilation.(une bibliotheque manquante)

Ça ne va pas mieux en utilisant un service de traduction de page ? L’anglais technique est assez simple grammaticalement pour que les moteurs ne se foirent pas trop je pense.

sgble

J’y ai penser mais mon navigateur ne propose pas cela, et Google traduction de pages wweb n’est apparemment plus disponible.

Mais vous connaitrez pas meme un astuce pour quand meme ajouter cela???? :( ?

Édité par HarldsmittMcClin

C++ the Best….##

+0 -0

Bonjour HarldsmittMcClin,

Tu as un exemple dans le répertoire nuklear/demo/sfml_opengl2.

Pour tester ça en une seule commande :

git clone https://github.com/vurtun/nuklear &&\
g++ -c nuklear/demo/sfml_opengl2/main.cpp &&\
g++ main.o -o nuklear-test -lsfml-graphics -lsfml-window -lsfml-system -lGL -lGLU &&\
./nuklear-test

Tant de choses, tant de vies, tant de possibilités.

+0 -0

Cette réponse a aidé l’auteur du sujet

c’est quoi ces commandes stp. Je suis sur Windows

HarldsmittMcClin

L’équivalent pour Windows ça risque d’être compliqué… Il faudrait rapatrier les libs SFML et OpenGl dans le même répertoire (ou préciser à l’IDE de linker les bibliothèques à la compilation) ainsi qu’ajouter g++ à la variable d’environnement PATH.

L’idée sinon pour que tu avances ton projet : il te faut inclure dans ton projet c++ le fichier nuklear.h et peut-être nuklear_sfml_gl2.h depuis le répertoire de démo, puis tu t’inspire du fichier main.cpp (toujours depuis la démo) pour réaliser ton rendu.

Édité par Yarflam

Tant de choses, tant de vies, tant de possibilités.

+2 -0
Auteur du sujet

c’est quoi ces commandes stp. Je suis sur Windows

HarldsmittMcClin

L’équivalent pour Windows ça risque d’être compliqué… Il faudrait rapatrier les libs SFML et OpenGl dans le même répertoire (ou préciser à l’IDE de linker les bibliothèques à la compilation) ainsi qu’ajouter g++ à la variable d’environnement PATH.

L’idée sinon pour que tu avances ton projet : il te faut inclure dans ton projet c++ le fichier nuklear.h et peut-être nuklear_sfml_gl2.h depuis le répertoire de démo, puis tu t’inspire du fichier main.cpp (toujours depuis la démo) pour réaliser ton rendu.

Yarflam

Merci infiniment ça marche, mais comment utiliser une partie precise: ils ont faits des exemples concret pour afficher plusieurs choses que peut faire Nuklear. Mais je vois pas comment extraire peut etre une partie precise ( pour les boutons par exemple, ou champs de texte) puisque je connais pas la portion du code qui correspond a ça ou meme les bibliotheques necessaires Ils sont pas tres explicatifs

C++ the Best….##

+0 -0

Cette réponse a aidé l’auteur du sujet

De ce que je comprends du code source, il crée d’abord un contexte (nk_context) qu’il initialise à partir de la bibliothèque OpenGl (glViewport) pour créer la fenêtre. Plus précisément, le contexte utilise les bibliothèques SFML & OpenGl depuis le fichier nuklear_sfml_gl2 et la bibliothèque Nuklear depuis le fichier nuklear.h.

Puis il fabrique une fenêtre "Demo" (nk_begin) dans lequel il place ses éléments, notamment un bouton :

nk_layout_row_static(ctx, 30, 80, 1);
if (nk_button_label(ctx, "button"))
  fprintf(stdout, "button pressed\n");

Les autres éléments se trouvent au même niveau.

Je crois que la documentation tu peux repasser effectivement. Alors tu peux éventuellement contacter les développeurs. Sinon fouiller dans le fichier nuklear.h à partir de la ligne 3112, tu as la signature des fonctions avec les commentaires (Button, Checkbox, Radio Button, Selectable, Slider, Progressbar). Puis compléter en regardant les fichiers main.cpp dans le répertoire de demo, même si ça n’utilise pas SFML (au moins pour savoir comment utiliser les composants).

La bidouille ! C’est à ça qu’on reconnaît les bons dév. ;) amuses toi bien !

Tant de choses, tant de vies, tant de possibilités.

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte