02-09-2007 07:58:34
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.214.189.165
- Courriel Site web
Salut !
Je me demandais si dans cette ligne de code :
driver->draw2DImage(driver->getTexture("icone.jpg"), core::position2d<s32>(315,474),core::rect<s32>(0,0,35,35),0,video::SColor(255,255,255,255), true);
On peut changer "a chaud" : icone.jpg ?!
Je m'explique :
J'ai un inventaire, et dans cet inventaire, 35 cases (chacune avec cette ligne si dessus) [Bon, ok, c'est pas propre et ça allourdi...].
Cependant, dans chaque cases il pourra y avoir de nombreuses icones (selon l'objet)...
Pour l'instant je fonctionne comme ça :
[Lit un fichier "inventaire" et vois les ID d'objets]->[Récupert l'ID et la position]->[Charge l'image relative a l'ID a la bonne position] (et c'est la que je bloque)
[Ramasse un objet]->[Récupert un ID]->[Ecrit dans un fichier "inventaire"]
Et donc mon rève serai une manip de ce genre :
driver->draw2DImage(driver->getTexture("%i.jpg", item[id]), core::position2d<s32>(315,474),core::rect<s32>(0,0,35,35),0,video::SColor(255,255,255,255), true);
Enfin, j'ai du mal a expliquer...
Quelqu'un peu me donner une piste ?
a+
w
Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
02-09-2007 08:11:42
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.12.239
- Courriel Site web
Moi ce que je fais, c'est un tableau de int.
Je fais aussi un tableau de textures puis je charge tout dans une boucle.
Si tu veux je peux t'envoyer mon code mais j'ai pas trop le temps aujourd'hui.
Bien amicalement.
Gp2mv3
Hors ligne
02-09-2007 15:51:16
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.214.189.165
- Courriel Site web
Et bien oui... je veux bien ^^
(voir aussi la methode de chargement des images)
sinon je pensait faire un truc du genre :
c8 tabicone[9999] = {0};
tabicone[1] = "..."
...
Pour aller récuperer la chose comme ceci
icone1 = tabicone[id];
Enfin, je veux bien ton code (quand tu aura le temps ^^)
a+
w
Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
02-09-2007 16:46:41
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.12.239
- Courriel Site web
Oui c'est sa mon code.
Mais moi il y a une dizaine d'objets seulement.
Bien amicalement.
Gp2mv3
Hors ligne
02-09-2007 17:05:56
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.214.189.165
- Courriel Site web
Ouais... moi je comptais entré plusieurs centaine d'objets (genre Morrowind), mais bon, qu'est ce que 100 ou 200 lignes de codes inutile dans mes 2000 lignes baclées ![]()
Pour l'instant je vais opté pour ta méthode... peut etres un topic que je reveillerais plus tard ![]()
merci encore
a+
w
EDIT : je vient de voir que l'on ne peut pas faire de tableau C8 pour mon idée de
tabitem[1] = "icone1.jpg";
Comment est ton tableau stp ?!
EDIT2 : Mon code précis :
c8 tabicone[9999] = {0};
/***main***/
tabicone[1001] = "icone1.jpg"; //(la sa marche pas)
driver2->draw2DImage(driver2->getTexture(tabitem[1001]), core::position2d<s32>(315,474),core::rect<s32>(0,0,35,35),0,video::SColor(255,255,255,255), true); //(la je suppose que non)Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
02-09-2007 18:10:41
- izguit
- Administrateurs

- Date d'inscription:
- Messages: 306
- IP: 83.152.32.23
- Courriel Site web
tableau de string?
Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250
Hors ligne
02-09-2007 18:46:53
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.214.189.165
- Courriel Site web
Heu... j'arrive pas a utilisé le string ^^"
Quand je déclare :
string variable="xxxx";
J'ai 'string' undeclared (first use this function)
Je déclare pourtant <string>...
Une petite aide/lien ?
Merci ![]()
a+
w
EDIT : j'ai reglée le probleme (std:![]()
Cependant après :
no matching function for call to `irr::video::IVideoDriver::getTexture(std::string&)'
Comment convertir pour que la chaine soit compatible ?!
Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
02-09-2007 19:06:43
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.12.239
- Courriel Site web
Voici la déclaration du tableau :
IGUIButton* boutinv[4];
int obj[4];
ITexture* objet[4];
sprintf(chemin, "./models/inventaire/%d.png", obj[0]);
objet[0] = driver->getTexture (chemin);
sprintf(chemin, "./models/inventaire/%d.png", obj[1]);
objet[1] = driver->getTexture (chemin);
sprintf(chemin, "./models/inventaire/%d.png", obj[2]);
objet[2] = driver->getTexture (chemin);
sprintf(chemin, "./models/inventaire/%d.png", obj[3]);
objet[3] = driver->getTexture (chemin);
sprintf(chemin, "./models/inventaire/%d.png", obj[4]);
objet[4] = driver->getTexture (chemin);
boutinv[1] = igui->addButton(core::rect<s32>(60,100,90,130), fen_inv, 120, L"");
boutinv[1] -> setImage(objet[1]);
boutinv[2] = igui->addButton(core::rect<s32>(100,100,130,130), fen_inv, 121, L"");
boutinv[2] -> setImage(objet[2]);
boutinv[3] = igui->addButton(core::rect<s32>(140,100,170,130), fen_inv, 122, L"");
boutinv[3] -> setImage(objet[3]);
boutinv[4] = igui->addButton(core::rect<s32>(180,100,210,130), fen_inv, 123, L"");
boutinv[4] -> setImage(objet[4]);Voila, bien amicalement.
Gp2mv3
Hors ligne
02-09-2007 20:30:42
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.214.189.165
- Courriel Site web
J'ai enfin (du a mon incapacité) réussi a integrer ton code... vraiment sympa...
Je vous remercis grandement pour votre aide !
a+
w
Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
03-09-2007 10:07:42
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.245.149.87
- Courriel Site web
De rien.
En faite je ne t'ai pas tout dit, ce sont des boutons et quand on clique dessus il choisis l'arme ou l'armure.
Le int est remplit par une requête winsock et est en fait l'id de l'objet si tu veux.
Voila.
Gp2mv3
Hors ligne
03-09-2007 11:05:31
- Willikus
- Membres

- Date d'inscription:
- Messages: 150
- IP: 86.214.6.97
- Courriel Site web
mhmm... je ne vois pas trop ce qu'est le winsock (a part une biblio reseau), mais je trouve que ton idée est propre et bien maléable (je commençais justement a voir pour équiper/deséquipé)...
Mais pour l'instant, aller plus loin sur l'inventaire est difficile car il me faut maintenant avancer sur une autre partie :p
Merci beaucoup (en plus je vient enfin de comprend le GUI d'irrlicht grace a ça ![imaginé mon ignorance...])
a+
w
Athlon 3000+ / 1024Mo PC3200 /8800 GTS
Hors ligne
03-09-2007 11:28:41
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.245.149.87
- Courriel Site web
Je t'ai envoyé un e-mail pour quelques précisions.
Hors ligne



