25-06-2007 16:34:58
- aenahel
- Membres
- Date d'inscription:
- Messages: 8
- IP: 82.228.189.176
- Courriel
Bonjour tout le monde. Je travaille sur un FPS en 3d, et je cherche a créer un hud en 2d (les trucs autour de l'ecran, qui donnent les stats, l'arme utilisée, le radar, le chrono etc etc).
Sauf que je sais pas trop comment faire ![]()
J'ai deja commencé avec des images (un flingue en 2d en bas au milieu ^^), puis un pseudo compteur de frags en haut a gauche, qui en fait affiche une image par dessus l'autre a chaque frag (j'ai fait 9 images avec "FRAG 1 !", "FRAG 2 !" etc mais c'est assez... euh... pas cool ? ^^').
Est-ce qu'on est obligé de mettre toujours image par dessus image ? Parce que j'aimerais bien pouvoir afficher une image, la supprimer, la bouger, la redimensionner etc
est-ce possible avec Irrlicht ? Si oui comment et si non est-ce qu'on peut utiliser la SDL dans une fenetre Irrlicht ? ^^''
Et sinon tous les conseils seront bienvenus ![]()
(Question bonus ^^ : comment on fait pour faire un chronomètre ? J'aimerais un joli chrono du genre 00:57:96, mais avec des images ca risque d'etre chaud...
)
Hors ligne
25-06-2007 18:20:45
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.220.166.68
- Courriel Site web
Le mieux c'est de transformé tes chiffres en police de caractère et de les affichers comme de banal varaible :
Tu déclare ta police avec :
gui::IGUIFont* font = device->getGUIEnvironment()->getFont("police001.bmp");
et tu affiche T truc avec :
core::stringw strFRAG = L"Frags : ";
strdriver += s32(variable);
strdriver += L" !";
font->draw(strFRAG.c_str(),core::rect<s32>(130,20,300,50),video::SColor(255, 255,255,255));
Ta variable évolue de 1-9, et affiche en x:130, y:20 de couleur blanche :
Frags 1 !
Frags 2 !
Frags 3 !
...
Si tu veux par exemple une image d'explosion qui encadre le mot FRAG 1 ! il suffit de la déclarer avant font->draw.
Pour ton compteur tu utilise le même moyen.
a+
w
EDIT : et d'ailleurs utilise ça pour differents retour d'info durant le jeu (position X, Y, Z, certaine booléenne, lumiere, ...)
Si tu veux un exemple de rendu, je te passe mon jeu (pas du tout optimisé et pas très beau)
Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
27-06-2007 19:16:02
- aenahel
- Membres
- Date d'inscription:
- Messages: 8
- IP: 82.228.189.176
- Courriel
Mon code plante :
IGUIFont* font = device->getGUIEnvironment()->getFont("resources/LCD2L___.ttf");
core::stringw strFRAG = L"Frags : ";
strFRAG += fragcounter;
strFRAG += " !";
font->draw(strFRAG.c_str(),core::rect<s32>(130,20,300,50),video::SColor(255, 255,255,255));
Complation sans probleme, mais apres "Windows a rencontré une erreur blabla". TTF pas acceptée ? Si c'est le cas, comment on fait un bmp avec ??? ^^''
Hors ligne
28-06-2007 08:54:05
- dark calculator
- Membres
- Date d'inscription:
- Messages: 153
- IP: 82.248.248.53
- Courriel
salut
il existe irrfontools livre avec irrlicht repertoire tools je crois
Il permet de creer des polices pour irrlicht tu choisit la police proprement dit puis la taille si c en gras et tout et ensuite il te sort une image.
Je n'est pas teste le nouveau car il ne marche pas ss linux mais le premier est deja bien utile.
Apres je suppose qu'il cree la liste des polices a partir de celle de windows donc il suffit de rajouter ta police au gestionnaire de ttf de windows ds le panneau de configuration.
voila en esperant avoir aide et avoir ete assez clair
dark calculator
Hors ligne
28-06-2007 12:22:53
- aenahel
- Membres
- Date d'inscription:
- Messages: 8
- IP: 82.228.189.176
- Courriel
Cool !
ca marche merci !
Hors ligne
17-12-2008 23:10:34
- meg
- Membres
- Date d'inscription:
- Messages: 6
- IP: 90.29.167.169
- Courriel
Lo,
Je dois être un peu dure à la détente.... j'ai tapé ça :
param.DriverType = video::EDT_DIRECT3D9;
...
gui::IGUIEnvironment * guienv = device->getGUIEnvironment();
gui::IGUIFont* font = guienv->getFont("comic_font_16.bmp");
core::stringw strTest = L"TOTO";
font->draw(strTest.c_str(),core::rect<s32>(230,20,300,300),video::SColor(255, 255,255,255));
et quedal, plante pas, mais rien n'apparait !!!!!!!!
Qu'est-ce que je fais faux ???
Hors ligne
17-12-2008 23:15:48
- meg
- Membres
- Date d'inscription:
- Messages: 6
- IP: 90.29.167.169
- Courriel
Oups... suis trop c..... j'ai trouvé mon erreur....
mon draw n'est pas entre le beginScene et le endScene !!!!
sorry pour le dérangement.... ;-)
Hors ligne



