#0 

02-09-2007 09:58:34

Willikus
Abonné
Date d'inscription: 21-10-2006
Messages: 150
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


#1 

02-09-2007 10:11:42

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
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


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#2 

02-09-2007 17:51:16

Willikus
Abonné
Date d'inscription: 21-10-2006
Messages: 150
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


#3 

02-09-2007 18:46:41

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Oui c'est sa mon code.
Mais moi il y a une dizaine d'objets seulement.

Bien amicalement.

Gp2mv3


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#4 

02-09-2007 19:05:56

Willikus
Abonné
Date d'inscription: 21-10-2006
Messages: 150
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 big_smile

Pour l'instant je vais opté pour ta méthode... peut etres un topic que je reveillerais plus tard wink

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 :

Code:

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)

Dernière modification par Willikus (02-09-2007 19:26:40)


Athlon 3000+ / 1024Mo PC3200 /8800 GTS

Hors ligne


#5 

02-09-2007 20:10:41

izguit
Administrateur
Lieu: 127.0.0.1
Date d'inscription: 14-09-2006
Messages: 306
Site web

tableau de string?


Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250

Hors ligne


#6 

02-09-2007 20:46:53

Willikus
Abonné
Date d'inscription: 21-10-2006
Messages: 150
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 wink

a+
w


EDIT : j'ai reglée le probleme (std:smile
Cependant après :

no matching function for call to `irr::video::IVideoDriver::getTexture(std::string&)'

Comment convertir pour que la chaine soit compatible ?!

Dernière modification par Willikus (02-09-2007 21:03:18)


Athlon 3000+ / 1024Mo PC3200 /8800 GTS

Hors ligne


#7 

02-09-2007 21:06:43

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Voici la déclaration du tableau :

Code:

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

Dernière modification par gp2mv3 (02-09-2007 21:08:25)


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#8 

02-09-2007 22:30:42

Willikus
Abonné
Date d'inscription: 21-10-2006
Messages: 150
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


#9 

03-09-2007 12:07:42

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
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


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


#10 

03-09-2007 13:05:31

Willikus
Abonné
Date d'inscription: 21-10-2006
Messages: 150
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


#11 

03-09-2007 13:28:41

gp2mv3
Abonné
Date d'inscription: 27-06-2007
Messages: 103
Site web

Je t'ai envoyé un e-mail pour quelques précisions.


Mon projet sous Irrlicht : RoM : Rebuilding on Mars
N'hésitez pas à y faire un tour wink

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1427 sujets
11117 messages
Dernier membre inscrit: Bidule
21 invités en ligne
Aucun membre connecté
RSS Feed