Bonjour,
Je voudrais savoir comment créer une jauche de vie.
Je pense que je dois utiliser un rectangle que je met à une taille par rapport aux vies mais je ne sais pas du tout comment m'y prendre.
Quelqu'un a une idée ?
Merci d'avance.
Gp2mv3
Hors ligne
Je suis pas trop sur mais bon:
Tu mets une image et tu mais la taille des abscisses proportionnelle à la vie,
par exemple :
int vie = 100; video::ITexture *image_vie = driver->getTexture ("MonImage.jpg"); core::position2d<s32> position_haut_gauche; position_haut_gauche.X = 0; position_haut_gauche.Y = 0; core::position2d<s32> position_bas_droite; position_bas_droite.Y = position_haut_gauche.Y + 10; position_bas_droite.X = position_haut_gauche.X + vie; core::rect<s32> rectangle; rectangle.UpperLeftCorner = position_haut_gauche; rectangle.LowerRightCorner = position_bas_droite; int vie2 = vie; while(device->run ()) { driver->beginScene(true, true, video::SColor (0,0,0,0)); vie--; if(vie2 != vie) { position_bas_droite.X = vie; rectangle.UpperLeftCorner = position_haut_gauche; rectangle.LowerRightCorner = position_bas_droite; vie2 = vie; } driver->draw2DImage(image_vie, position_haut_gauche,rectangle, 0, video::SColor (255,255,255,255), true); driver->endScene (); }
la sa fait qu'une barre qui diminue mais après ta plus qu'à modifier à tes besoins
ya peut etre plus simple et moins lourd mais c'est la seule idée qui me vient en tête
pour le int vie2 c'est pas obligé mais sa évite de redéfinir les coordonnées à chaque passage de la boucle, c'est toujours sa de gagner :p
PS: Jauge
PS2: je viens de remarquer que par contre tu ne peut afficher que des rectangles car avec ce code tu ne diminue pas la taille de l'image selon la vie, mais tu cache une partie de l'image selon la vie
Dernière modification par bestben (30-03-2008 22:05:13)
Hors ligne
Oui, j'étais pas sur de l'orthographe, mon dico me disait que c'était faux mais il ne proposait rien de mieux donc j'ai laissé comme ça.
Si non, merci pour ton code, je regarderai ça demain quand je serai reposé.
Hors ligne