Arreter un panoramique au bout de 20sec

bouille241 Messages postés 3 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 30 juillet 2008 - 30 juil. 2008 à 16:00
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011 - 30 juil. 2008 à 16:57
Bonjour,
j'utilise une panoramique généré par actionscript comme suis :





_root.createEmptyMovieClip("image01",1);


_root.image01.attachMovie("photo","mc_photo",1);




_root.createEmptyMovieClip("image02",2);


_root.image02.attachMovie("photo","mc_photo",1);


_root.image02._x=image01._x+image01._width;




// variables


var largeur_scene=998;


var largeur_image=image01._width;


var interaction = 0;




_root.onEnterFrame=function(){




    if(interaction == 0){


   


        deplacement =_xmouse;


        deplacement=deplacement-(largeur_scene/3);


        deplacement = deplacement/150;


       


        image01._x=image01._x-deplacement;


        image02._x=image02._x-deplacement;


       


        //partie droite


        if (image01._x>=largeur_scene){


        image01._x=image02._x-largeur_image;


        }


       


        if (image02._x>=largeur_scene){


        image02._x=image01._x-largeur_image;


        }


       


        // partie gauche


       


        if (image01._x+largeur_image<=0){


        image01._x=image02._x+largeur_image;


        }


        if (image02._x+largeur_image<=0){


        image02._x=image01._x+largeur_image;


        }


       


    }


   


   


}


stop();





Hors j'aimerais bien qu'il stoppe au bout de 20 sec d'inactivité (c'est à dire que la souris n'est plus dessus), et quand la souris repasse dessus l'anim se relance.

J'ai bien bidouillé un code qui me génére un clip vide et qui permet un "interaction=1", mais celui-ci me desactive les actions de boutons stockés dans des clips sur mon clip "photo" (vous me suivez ?!?)

et si j'utilise  ce code :


function stopMyAnimation() {


delete onEnterFrame;


clearInterval(t1);


}


t1 = setInterval(stopMyAnimation,20000);





l'animation s'arrête mais ne redémarre pas ...

Je crois devenir folle ! Y aurait il une ame charitable pour m'aider ?

Merci par avance

4 réponses

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
30 juil. 2008 à 16:32
Il faudrait donc éviter d'effacer onEnterFrame.
Une simple variable booléenne suffirait (true ou false). En gros ta méthode avec le setInterval() est bonne, mais il faudrait désactiver la variable (authorized  false) .Et il faut ajouter une fonction onRollOver sur le un clip qui contiendrait tes photos, et dedans réactiver authorized true;

var authorized : Boolean = true;

clip_conteneur.onRollOver = function() {
      if (!authorized) authorized = true;
}

_root.onEnterFrame=function(){

    if (authorized) {
       ....code....
    }
}

function stopMyAnimation() {
    authorized = false;
    clearInterval(t1);
}
t1 = setInterval(stopMyAnimation,20000);
0
bouille241 Messages postés 3 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 16:46
On touche la perfection...
le seul truc c'est que dans mon clip image qui est appelé par l'actionscript, j'ai d'autres clips qui contiennent des boutons (sur effet de roll over : l'image grossis et l'anim est arretée, et sur roll out, l'image réduit et l'anim repart). Et ils ne sont plus actifs ! (les bougres). Ce qui me pose problème...

Pour voir le panoramique dans son action (sans le nouveau code) : My Décoration

Bouille
0
bouille241 Messages postés 3 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 30 juillet 2008
30 juil. 2008 à 16:48
Oups, erreur dans le lien, voici le bon : My décoration
0
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
30 juil. 2008 à 16:57
Ah c'est bien un visuel pour mieux comprendre ton truc!

Ben je vois 2 possibilités :
- onRollOver sur un clip dans une profondeur inférieure aux clips réactifs.
- ou tout simplement jouer sur les positions du curseur de la souris. Vu que ton slider faut tout la largeur, il suffirait de tester uniquement _ymouse :
Donc dans la même boucle onEnterFrame :
if (!authorized && _ymouse > [valeurMin] && _ymouse < [valeurMax]) {
     authorized = true;
}

ps: [valeurMin] peut avoir la valeur de clip_conteneur._y et [valeurMin] la valeur de ( clip_conteneur._y + clip_conteneur.height )....à tester, c'est bcp plus facile comme ça.
0
Rejoignez-nous