Historique des modifications - Message

Message #3771

Sujet: Créer jauche pour la vie.


TypeDateAuteurContenu
Dernière modification30-03-2008 20:05:13bestben
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 besoinswink
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: Jaugelol

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 message30-03-2008 19:36:27bestben
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 besoinswink
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: Jaugelol

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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
301 invités en ligne
membre en ligne: -
RSS Feed