"btn.enabled = false" ne fonctione pas dans une fonction

FredoLaFrite Messages postés 3 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 27 mars 2009 - 27 mars 2009 à 14:04
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010 - 28 mars 2009 à 17:16
Bonjour à tous,

Alors voila je sèche totalement sur un problème
qui m'avait pourtant l'air simple au début mais auquel je ne trouve
aucune réponse depuis 2 heures...

J'ai un tableau contenant
plusieurs boutons que je souhaite désactiver lors de l'appel d'une
fonction. Cette fonction que j'ai appelé "LoadVidéo" contient un
chargement vidéo et c'est pendant ce chargement que je souhaite que les
boutons de la nav' ne soient pas cliquables.
Je fais donc une boucle
sur ce tableau afin de définir tous les boutons en enabled = false mais
ça ne fonctionne pas. Par contre en sortant cette boucle de la fonction
"LoadVidéo", ça fonctionne... Le tableau est déclaré en dehors de la
fonction "LoadVidéo", j'ai essayé de le déclarer dedans mais ça ne
donne rien... Bref je m'en remet à vous...

Voici le code en question en esperant être clair dans mes explications :


<ol class="dp-as" start="1">
<li class="">


var
 BtNav:Array = 
new
 Array(); 


</li>
<li class="alt">

BtNav[0] = Master_mc.Nav_mc.BtRub01_mc; 

</li>
<li class="">

BtNav[1] = Master_mc.Nav_mc.BtRub02_mc; 

</li>
<li class="alt">

BtNav[2] = Master_mc.Nav_mc.BtRub03_mc; 

</li>
<li class="">

BtNav[3] = Master_mc.Nav_mc.BtRub04_mc; 

</li>
<li class="alt">

BtNav[4] = Master_mc.Nav_mc.BtRub05_mc; 

</li>
<li class="">

BtNav[5] = Master_mc.Nav_mc.Footer_mc.BtConditions_mc; 

</li>
<li class="alt">

BtNav[6] = Master_mc.Nav_mc.Footer_mc.BtContact_mc; 

</li>
<li class="">

BtNav[7] = Master_mc.Nav_mc.Footer_mc.BtPlan_mc; 

</li>
<li class="alt">

BtNav[8] = Master_mc.Nav_mc.BtGoGreen_mc; 

</li>
<li class="">

 

</li>
<li class="alt">


//Fonction permettant de charger une rubrique et sa vidéo de fond
 


</li>
<li class="">


function
 LoadVideo(video){ 


</li>
<li class="alt">

     

</li>
<li class="">

    //On désactive tous les boutons de la nav pendant le chargement...mais ça ne marche pas !... 

</li>
<li class="alt">

    for (var i = 0; i

</li>
<li class="">

 

</li>
<li class="alt">

        trace(BtNav[i]); 

</li>
<li class="">

        BtNav[i].enabled = false; 

</li>
<li class="alt">

    } 

</li>
<li class="">

     

</li>
<li class="alt">

    //On joue la fin de video du fond actuelle 

</li>
<li class="">

    ConteneurVideo.gotoAndStop("out"); 

</li>
<li class="alt">

    ConteneurVideo.frameTo(ConteneurVideo._totalframes, 1, "linear", 0, function(){ 

</li>
<li class="">

        this.unloadMovie();  

</li>
<li class="alt">

         

</li>
<li class="">

        //On charge la nouvelle vidéo de fond 

</li>
<li class="alt">

        this.loadMovie(video); 

</li>
<li class="">

 

</li>
<li class="alt">

        _root.onEnterFrame = function() { 

</li>
<li class="">

 

</li>
<li class="alt">

        var total:Number = this.getBytesTotal(); 

</li>
<li class="">

        var charge:Number = this.getBytesLoaded(); 

</li>
<li class="alt">

        var pourcent:Number = Math.round(charge/total*100); 

</li>
<li class="">

         

</li>
<li class="alt">

            //Une fois la nouvelle vidéo chargée, on lance le swf de la rubrique... 

</li>
<li class="">

            if (pourcent == 100) { 

</li>
<li class="alt">

                 

</li>
<li class="">

                //ConteneurRubrique.play(); 

</li>
<li class="alt">

                delete _root.onEnterFrame; 

</li>
<li class="">

                 

</li>
<li class="alt">

                //... et on réactive tous les boutons de la nav sauf celui de la rubrique consultée 

</li>
<li class="">

                for (var i = 0; i

</li>
<li class="alt">

                    if(BtNav[i]!=RubActuelle){ 

</li>
<li class="">

                        BtNav[i].enabled = true; 

</li>
<li class="alt">

                    } 

</li>
<li class="">

                } 

</li>
<li class="alt">

          

</li>
<li class="">

            }else{} 

</li>
<li class="alt">

        } 

</li>
<li class="">

    }); 

</li>
<li class="alt">

 

</li>
<li class="">

}


</li>
</ol>
Merci par avance pour votre aide,

Fred.

1 réponse

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
28 mars 2009 à 17:16
Salut
Il faut utiliser movieClipLoader() pour ton chargement et l'événement onLoadProgress .

@+.
telov.ch
0
Rejoignez-nous