Historique des modifications - Message

Message #3771

Sujet: Créer jauche pour la vie.


Type Date Auteur Contenu
Dernière modification 30-03-2008 20:05:13 bestben
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 wink
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 lol

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
Création du message 30-03-2008 19:36:27 bestben
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 wink
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 lol

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

Retour

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
112 invités en ligne
membre en ligne: -
RSS Feed