Arreter une fonction

jobe06 Messages postés 47 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 2 novembre 2011 - 2 mars 2011 à 17:07
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 2 mars 2011 à 17:48
Bonjour,
Voila jaimerai faire un diapo, a l'aide de tween, j'ai une fonction (tourne), qui lance les tween a la suite, quand je lance que la (fonction tourne) celle ci marche, mais j'ai mis egalemet des bouton pour aller à l'image voulu, et la quand clique sur un bouton la fonction continu a tourner... comment puis je faire pour arreter une fonction?

Voici mon code : (un systeme D je vous l'accorde, mais je sais pas comment faire autrement)

import mx.transitions.Tween; // on importe la classe Tween 
import mx.transitions.easing.*;


var loaded1:Number;
var Total1:Number;

var loaded2:Number;
var Total2:Number;

var loaded3:Number;
var Total3:Number;

diapo.bt2R._visible=false;
diapo.bt3R._visible=false;
diapo.bt1R._visible=false;


//********************************************************************************************
//********************************************************************************************
//********************************************************************************************


var scroller1 : Tween = new Tween( diapo.scroller, "_x", Strong.easeInOut, 530, 0, 2, true );
scroller1.stop();

var wait1 : Tween = new Tween( diapo.scroller, "_x", Strong.easeInOut, 0, 0, 3, true );
wait1.stop();



var scroller2 : Tween = new Tween( diapo.scroller, "_x", Strong.easeInOut, diapo.scroller._x, -526, 2, true );
scroller2.stop();

var wait2 : Tween = new Tween( diapo.scroller, "_x", Strong.easeInOut, -526, -526, 3, true );
wait2.stop();


var scroller3 : Tween = new Tween( diapo.scroller, "_x", Strong.easeInOut, diapo.scroller._x, -1051, 2, true );
scroller3.stop();

var wait3 : Tween = new Tween( diapo.scroller, "_x", Strong.easeInOut, -1051, -1051, 3, true );
wait3.stop();


var scroller4 : Tween = new Tween( diapo.scroller, "_x", Back.easeInOut, diapo.scroller._x, 0, 1.5, true );
scroller4.stop();


//*********************************************************************************************
//***********************************FONCTION ROTATION*****************************************
//*********************************************************************************************


function tourne () {
wait1.start();
diapo.bt2R._visible=false;
diapo.bt3R._visible=false;
diapo.bt1R._visible=true;


wait1.onMotionFinished  = function(Void):Void  {
scroller2.start();

}
scroller2.onMotionFinished  = function(Void):Void  {
wait2.start();
diapo.bt1R._visible=false;
diapo.bt3R._visible=false;
diapo.bt2R._visible=true;
}
wait2.onMotionFinished  = function(Void):Void  {
scroller3.start();

}
scroller3.onMotionFinished  = function(Void):Void  {
wait3.start();
diapo.bt2R._visible=false;
diapo.bt1R._visible=false;
diapo.bt3R._visible=true;
}
wait3.onMotionFinished  = function(Void):Void  {
scroller4.start();
}
scroller4.onMotionFinished  = function(Void):Void  {
wait1.start();
diapo.bt2R._visible=false;
diapo.bt3R._visible=false;
diapo.bt1R._visible=true;
}

}

//********************************************************************************************
//********************************************************************************************
//********************************************************************************************


diapo.scroller.conteneur1.loadMovie ("images/pub_1.jpg");
diapo.scroller.conteneur2.loadMovie ("images/pub_2.jpg");
diapo.scroller.conteneur3.loadMovie ("images/pub_3.jpg");


loaded1 = diapo.scroller.caonteneur1.getBytesLoaded(); 
total1 = diapo.scroller.caonteneur1.getBytesTotal();

loaded2 = diapo.scroller.caonteneur2.getBytesLoaded(); 
total2 = diapo.scroller.caonteneur2.getBytesTotal();

loaded3 = diapo.scroller.caonteneur3.getBytesLoaded(); 
total3 = diapo.scroller.caonteneur3.getBytesTotal();

if ([(total1 == loaded1)&&(total1>100)] && [(total2 == loaded2)&&(total2>100)] && [(total3 == loaded3)&&(total3>100)] ){
scroller1.start();
scroller1.onMotionFinished  = function()  {
tourne (play);
}
}



//********************************************************************************************
//************************************BOUTON**************************************************
//********************************************************************************************

diapo.bt1.onRelease = function(){
scroller4.start();
diapo.bt1R._visible=true;
diapo.bt2R._visible=false;
diapo.bt3R._visible=false;

}

diapo.bt2.onRelease = function(){
scroller2.start();
diapo.bt1R._visible=false;
diapo.bt2R._visible=true;
diapo.bt3R._visible=false;

}

diapo.bt3.onRelease = function(){
scroller3.start();
diapo.bt1R._visible=false;
diapo.bt2R._visible=false;
diapo.bt3R._visible=true;

}





3 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
2 mars 2011 à 17:26
Bonjour,

Ce n'est pas ta fonction qu'il faut arrêter, mais tes tweens...

Peg'
0
jobe06 Messages postés 47 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 2 novembre 2011
2 mars 2011 à 17:29
mais sachant que les tween sont dans la fonction, si on arrete la fonction a arretera les tween, non?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
2 mars 2011 à 17:48
Non, tes tweens ne sont pas dans la fonction, puisque tu les déclares plus haut...
Et puis, comment veux-tu "arrêter" une fonction qui n'est déclenchée qu'une fois ?

D'ailleurs, tes déclarations de "onMotionFinished" n'ont rien à y faire. Extériorise-les, ce sera plus clair, car ce sont des fonctions d'évènements.

Peg'
0
Rejoignez-nous