Barre de progression réelle

mighty_warrior Messages postés 123 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 9 février 2010 - 25 août 2007 à 18:08
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 29 août 2007 à 13:24
Bonjour,

Ca fait pas mal de temps maintenant que je bidouille un p'tit programme disposant d'une interface en 3D. Le truc c'est que le programme met un peu de temps avant de se lancer completement puisqu'il doit afficher les objets 3D et charger les textures.

 Donc je me suis dit qu'il serait sans doute plus sympas d'afficher une petite barre de progression qui informerait l'utilisateur de l'état de "chargement" du programme. De plus ce que je cherche c'est comment faire en sorte que la barre s'incrémente en fonction de l'état de chargement des objets 3D. Ca rend tout de même mieux qu'une barre dont l'incrémentation (du type Progressbar1.position := Progressbar1.position  +1) est linéaire.

Merci d'avance! 

5 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
25 août 2007 à 20:18
en gros :

ProgressionMax = nombre d'objet + nombre de texture

Progression = 0

tant que (tout les objets pas chargés)
  charger(objet suivant)
  progression + 1

tant que (toutes les textures pas chargées)
  charge(texture suivante)
  progression + 1
0
mighty_warrior Messages postés 123 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 9 février 2010
25 août 2007 à 20:34
oui je voit. Mais le truc c'est que mes objets 3d ne sont pas créer dynamiquement alors ça doit poser un probléme pour utiliser ton code non?
0
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
25 août 2007 à 23:51
tu peux toujours te faire un tableau de string contenant le nom de tes objets 3d et de tes textures et tu fais :

for i:=0 to MAX_OBJECT do
begin
    ChargerObject(Object[i]);
     progression + 1
end;

idem avec les textures

Mais je pense que le mieux cest encore de creer un fichier ini avec le nom de ts object , texture et de prendre les noms à partir de ce fichier ... apres tu fais comme au desssus

Ciao
0
mighty_warrior Messages postés 123 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 9 février 2010
26 août 2007 à 09:59
je comprend vos méthodes mais je ne voit pas comment ça peut fonctionner avec des composant créer non-dynamiquement!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
29 août 2007 à 13:24
Salut,

Comment veux tu qu'on sache comment sont chargés tes objets 3D si tu ne nous dis pas quels composants tu utilises ?

Je ne sais pas comment ils fonctionnent, mais tu peux certainement leurs faire charger les objets un à un, et utiliser ce qu'on t'as dit plus haut.
0
Rejoignez-nous