Scrollbug

gaytso Messages postés 3 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 3 mai 2007 - 3 mai 2007 à 14:26
gaytso Messages postés 3 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 3 mai 2007 - 3 mai 2007 à 16:00
Bjr,

Une page principale. Des boutons qui appellent des swf via loadmovie.
Un
swf avec scrollbar d'images fonctionne très bien tout seul, mais
lorsqu'il est appelé dans la page principale le scroll ne va pas
jusqu'au bout et s'arrête avant la fin des photos.

Si quelqu'un a une idée ce serait cool.

A+

4 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
3 mai 2007 à 15:18
Essaye dans ton swf externe de mettre sur la première frame dans les AS :

this._lockroot=true

:-)
0
gaytso Messages postés 3 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 3 mai 2007
3 mai 2007 à 15:34
J'ai essayé mais en vain. Voici le code du swf externe:

this._lockroot = true;
//on travaille avec un fichier xml externe
var friseXML = new XML();
friseXML.ignoreWhite = true;
friseXML.onLoad = function(sucess) {
    if (sucess) {
        this.play();
        slider.setMenu(this.firstChild);
        delete friseXML;
    }
};
// ne marche pas en local
// supprimer ?time...
friseXML.load("diaporama.xml");//?time="+Math.random());

var taille_scene=Stage.width;

Barre._visible = false;
barre_fond._visible = false;
cadre._visible=false;

charger = function (url,url_web){
    //on charge l'image
    cadre._visible=false;
   
    createEmptyMovieClip("grande",-20000);
    grande.loadMovie(url);
    grande._alpha=0;
   
    // création dela fonction récurente de control de chargement
    onEnterFrame = function(){
       
        // calcul du pourcentage chargé
        var pourcent = grande.getBytesLoaded()*100/grande.getBytesTotal();
        // on affiche la barre de chargement si besoin
        if (grande.getBytesLoaded() < grande.getBytesTotal())
                {Barre._visible = true;
                 barre_fond._visible = true;
                 Barre._xscale = pourcent; }
       
       
        if ((pourcent >= 100) && (!isNaN(pourcent)))
        {
            // si c'est charger on stop (supprime) le control
            delete onEnterFrame;
           
           
            //centrage des images
            var ratio;
            ratio = grande._width / grande._height;
            grande._height=533;
            grande._width=ratio*533;
            grande._x=0;
            grande._y=0;
            cadre._height=grande._height;
            cadre._width=grande._width;
            var dim_x =cadre._xscale ;
            cadre._xscale=0;
            cadre._yscale=0;
            cadre._visible=true;
            var dim = 0;
            clearInterval(dessin_cadre);
            grande._alpha=0;
           
            dessin_cadre=setInterval(function ()
                    {clearInterval(fondu);
                     grande._alpha=0;
                     cadre._xscale=dim*dim_x/100;
                     cadre._yscale=dim;
                     dim=dim+2;
                     if (dim > 100)
                         {//Fonction pour le fondu d'images
                         clearInterval(dessin_cadre);
                         
                         var alpha =0;
                         fondu=setInterval(function ()
                                    {grande._alpha=alpha;
                                     alpha=alpha+2;
                                     if (alpha > 100)
                                            clearInterval(fondu);
                                     },5);}
                                         
                     },5);
           
           
           
           
            // et on recache la barre de chargement
            Barre._visible = false;
            barre_fond._visible = false;
           
           
        }
    }
};
//chargement automatique de la premiere image
charger("photos/grand/1.jpg");
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
3 mai 2007 à 15:37
this._lockroot=true n'a pas de ";" à la fin et est tout attaché.
0
gaytso Messages postés 3 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 3 mai 2007
3 mai 2007 à 16:00
C'est bien comme ca?

this._lockroot=true
var friseXML = new XML();
friseXML.ignoreWhite = true;
friseXML.onLoad = function(sucess) {
    if (sucess) {
        this.play();
        slider.setMenu(this.firstChild);
        delete friseXML;
    }
};
// ne marche pas en local
// supprimer ?time...
friseXML.load("diaporama.xml");//?time="+Math.random());

var taille_scene=Stage.width;

Barre._visible = false;
barre_fond._visible = false;
cadre._visible=false;

charger = function (url,url_web){
    //on charge l'image
    cadre._visible=false;
   
    createEmptyMovieClip("grande",-20000);
    grande.loadMovie(url);
    grande._alpha=0;
   
    // création dela fonction récurente de control de chargement
    onEnterFrame = function(){
       
        // calcul du pourcentage chargé
        var pourcent = grande.getBytesLoaded()*100/grande.getBytesTotal();
        // on affiche la barre de chargement si besoin
        if (grande.getBytesLoaded() < grande.getBytesTotal())
                {Barre._visible = true;
                 barre_fond._visible = true;
                 Barre._xscale = pourcent; }
       
       
        if ((pourcent >= 100) && (!isNaN(pourcent)))
        {
            // si c'est charger on stop (supprime) le control
            delete onEnterFrame;
           
           
            //centrage des images
            var ratio;
            ratio = grande._width / grande._height;
            grande._height=533;
            grande._width=ratio*533;
            grande._x=0;
            grande._y=0;
            cadre._height=grande._height;
            cadre._width=grande._width;
            var dim_x =cadre._xscale ;
            cadre._xscale=0;
            cadre._yscale=0;
            cadre._visible=true;
            var dim = 0;
            clearInterval(dessin_cadre);
            grande._alpha=0;
           
            dessin_cadre=setInterval(function ()
                    {clearInterval(fondu);
                     grande._alpha=0;
                     cadre._xscale=dim*dim_x/100;
                     cadre._yscale=dim;
                     dim=dim+2;
                     if (dim > 100)
                         {//Fonction pour le fondu d'images
                         clearInterval(dessin_cadre);
                         
                         var alpha =0;
                         fondu=setInterval(function ()
                                    {grande._alpha=alpha;
                                     alpha=alpha+2;
                                     if (alpha > 100)
                                            clearInterval(fondu);
                                     },5);}
                                         
                     },5);
           
           
           
           
            // et on recache la barre de chargement
            Barre._visible = false;
            barre_fond._visible = false;
           
           
        }
    }
};
//chargement automatique de la premiere image
charger("photos/grand/1.jpg");

Et bien ca ne marche toujours pas.
Si tu as la solution je t'en saurais reconnaissant.
A +
0
Rejoignez-nous