loportun
Messages postés1Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention 1 décembre 2006
-
1 déc. 2006 à 15:43
raoultboy
Messages postés5Date d'inscriptionsamedi 2 décembre 2006StatutMembreDernière intervention 5 décembre 2006
-
5 déc. 2006 à 12:45
Bonjour,
J'ai réalisé un diaporama dynamique XML mais en ligne le temps de chargement des images quand on est en rollover sur les vignettes est très important, j'ai donc essayé de mettre un petit preload (barre de chargement + % effectué) mais celui ci marche très mal en local et pas du tout en ligne..
Si quelqu'un pouvait me dire ce qui cloche, voici les morceaux de code incriminés :
//fonction d'affichage de l'image après rollover sur la vignette :
eval("vignette"+i).onRollOver = function() {
// je positionne mon clip de preload sur l'image 3 ou se situe mon code de preload (voir plus bas)
_root.key.char.gotoAndPlay(3);
// j'affiche les données de l'image (jpg + commentaire)
file = (this.vFile);
texte = (this.texte);
_root.key.conteneur.loadMovie("http://www.opaz.fr/opazkata/photos/"+file);
_root.key.textetof.text = (texte);
eval("telecharger"+i)._x = 300;
eval("telecharger"+i)._y = 200;
}
// fonction preload
this.onEnterFrame = function() {
// si le chargement n'a pas commencé, on boucle la fonction
if (_root.key.conteneur.getBytesLoaded() == 0){
_root.key.char.gotoAndPlay(3);}
else {
// si le chargement est fini on arrête la fonction de preload (l'image 1 est vide)
if(_root.key.conteneur.getBytesLoaded() == _root.key.conteneur.getBytesTotal()) {
_root.key.char.gotoAndPlay(1);
} else {
// dans les autres cas (chargement en cours) on affiche le nombre de bytes chargé et le nombre de bytes à charger, puis on boucle la fonction
_root.key.char.pour.text = (_root.key.conteneur.getBytesLoaded() + "sur" + _root.key.conteneur.getBytesTotal());
trace (_root.key.conteneur.getBytesLoaded() + "sur" + _root.key.conteneur.getBytesTotal());
_root.key.char.gotoAndPlay(3);
}
}
}
onClipEvent (enterFrame) {
// si il charge une image externe = url différente
if (this._url != _root._url) {
_root.preload(this);
}
}
et la fonction preload sur le scénario :
function preload(clipCible) {
// si ce n'est pas fini :
if (!clipCible.estLoad) {
// Si tout est loadé
if (clipCible._framesloaded>0 && clipCible._framesloaded == clipCible._totalframes) {
trace ("::::: download fini !");
// on le note
clipCible.estLoad = true;
// et on fait ce quon veut ici...
} else {
// autrement : statu quo
trace ("::::: download en cours...");
}
// et ici on affiche le loading en cours barre, texte, pourcentage, etc.
}
}