HELP : Problème de préload .jpg

loportun Messages postés 1 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 1 décembre 2006 - 1 déc. 2006 à 15:43
raoultboy Messages postés 5 Date d'inscription samedi 2 décembre 2006 Statut Membre Derniè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);
    }
        }       
}

Merci d'avance à tous !

1 réponse

raoultboy Messages postés 5 Date d'inscription samedi 2 décembre 2006 Statut Membre Dernière intervention 5 décembre 2006
5 déc. 2006 à 12:45
Salut,

Je ne sais pas si ça peut t'aider. J'ai eu aussi des soucis avec le load de jpeg externes, qui ne marchait pas tout à fait comme celui des swf.

Le code suivant (en grande partie ©Colin Moock) marche très bien, à voir si tu peux l'adapter :

sur le clip qui load le jpeg :

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.
    }
}

A+
0
Rejoignez-nous