#1 

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 hmm

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

(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... hmm)


Hors ligne


#2 

25-06-2007 18:20:45

Willikus
Membres
Avatar de Willikus
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


#3 

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


#4 

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


#5 

28-06-2007 12:22:53

aenahel
Membres
Date d'inscription:
Messages: 8
IP: 82.228.189.176
Courriel

Cool ! big_smile ca marche merci !


Hors ligne


#6 

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


#7 

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


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
121 invités en ligne
membre en ligne: -
RSS Feed