Aide - Recherche - Membres - Calendrier
Version complète : écouteur sur la progression de l'évenement tween
Centre de Formation Flash - Forums Adobe Flash > Adobe Flash > Programmation Actionscript > Actionscript 3
s@n@
Salut à tous smile.gif

Voilà ce que j'aimerais faire :
Mettre un écouteur sur l'action tween pour que qd celle-ci sera terminée et que mon clip est au x==0, je puisse faire un autre traitement, mais seulement qd l'action tween sera terminée

voici mon code :
Code
myTween= new Tween(mc_container.getChildAt(k), "x", None.easeInOut,700,0, 3, true);


Quelqu'un aurait-il une solution....

Merci beaucoup et bonne journée smile.gif
tibibi
Citation (s@n@ @ Oct 23 2008, 10:08 AM) *
Salut à tous smile.gif

Voilà ce que j'aimerais faire :
Mettre un écouteur sur l'action tween pour que qd celle-ci sera terminée et que mon clip est au x==0, je puisse faire un autre traitement, mais seulement qd l'action tween sera terminée

voici mon code :
Code
myTween= new Tween(mc_container.getChildAt(k), "x", None.easeInOut,700,0, 3, true);


Quelqu'un aurait-il une solution....

Merci beaucoup et bonne journée smile.gif


Salut,

Action Script

myTween = new Tween(mc_container.getChildAt(k), "x", None.easeInOut,700,0, 3, true);

myTween.addEventListener( TweenEvent.MOTION_FINISH, finished );

function finished( pEvt:TweenEvent )
{

}


++icon_wink.gif
monz
Citation (s@n@ @ Oct 23 2008, 10:08 AM) *
Salut à tous smile.gif

Voilà ce que j'aimerais faire :
Mettre un écouteur sur l'action tween pour que qd celle-ci sera terminée et que mon clip est au x==0, je puisse faire un autre traitement, mais seulement qd l'action tween sera terminée

voici mon code :
Code
myTween= new Tween(mc_container.getChildAt(k), "x", None.easeInOut,700,0, 3, true);


Quelqu'un aurait-il une solution....

Merci beaucoup et bonne journée smile.gif


Tibibi t'a proposé la solution Adobe.
Certains ont développé des classes de Tween qui intègre l'option. TweenLite par exemple.

Dans ce cas, ça donne un truc du genre :

Action Script


//pour les tweens selon TweenLite
import gs.TweenLite;
import fl.transitions.easing.*;
import fl.motion.easing.*

TweenLite.to(mc_container.getChildAt(k), 3, { x:0, ease:None.easeInOut, onComplete :MaFonction} );
tibibi
Je te conseil de suivre la proposition de Monz qui est bien meilleur. En fait les tweener chez adobe c'est un désastre icon_mrgreen.gif

++icon_wink.gif

(Hello Monz icon_cool.gif )
monz
Citation (tibibi @ Oct 23 2008, 11:23 AM) *
Je te conseil de suivre la proposition de Monz qui est bien meilleur. En fait les tweener chez adobe c'est un désastre icon_mrgreen.gif

++icon_wink.gif

(Hello Monz icon_cool.gif )

icon_biggrin.gif Tibibi.
zoam
Bonjour,

Je poursuis ce topic, mais avec Caurina, j'ai bien intégré le "onComplete:..." dans ma Tween mais mon trace s'affiche bien avant la fin de la transition.

Des solutions ?

Le code du Flash se trouve dans une classe et dans une fonction après le load d'un png.
Je vous ai joint la copie du code hors classe avec un simple movieClip.

Merci.
AS:

import caurina.transitions.Tweener;
//import caurina.transitions.*
import caurina.transitions.properties.CurveModifiers;
CurveModifiers.init();

function fin_tween () {
if (this.square.x == 10 && this.square.y == 10) {
trace("Terminé");
}
}

Tweener.addTween(square, {x:10, y:10, alpha:1, onComplete:fin_tween(), _bezier:[{x:205, y:707}, {x:1191.5, y:254.5}, {x:854.75, y:679.25}, {x:81.00, y:271.1}, {x:220.9, y:545.55}, {x:791.45, y:295.75}, {x:162.55, y:135.3}, {x:1213.7, y:24.85}, {x:601.85, y:623.40}], time:5, transition:"easeInBounce"});
zoam
Bien, ne comprenant pas pourquoi le "onComplete" ne fonctionnait pas j'ai donc mis en place un listener sur mon movieClip.

Voila ce que cela donne au final pour ceux qui se retrouve dans ce cas ( cela ne rêgle en rien le problème de fond mais ça marche):

Action Script

import caurina.transitions.Tweener;
//import caurina.transitions.*
import caurina.transitions.properties.CurveModifiers;
CurveModifiers.init();

function fin_tween () {
if (this.square.x == 10 && this.square.y == 10) {
trace("Terminé");
square.removeEventListener(Event.ENTER_FRAME, controle_pos);
}
}
square.addEventListener(Event.ENTER_FRAME, controle_pos);


function controle_pos (event:Event) {
fin_tween();
}

Tweener.addTween(square, {x:10, y:10, alpha:1, _bezier:[{x:205, y:707}, {x:1191.5, y:254.5}, {x:854.75, y:679.25}, {x:81.00, y:271.1}, {x:220.9, y:545.55}, {x:791.45, y:295.75}, {x:162.55, y:135.3}, {x:1213.7, y:24.85}, {x:601.85, y:623.40}], time:5, transition:"easeInBounce"});
la pieuvre
Citation (s@n@ @ Oct 23 2008, 09:08 AM) *
Salut à tous smile.gif

Voilà ce que j'aimerais faire :
Mettre un écouteur sur l'action tween pour que qd celle-ci sera terminée et que mon clip est au x==0, je puisse faire un autre traitement, mais seulement qd l'action tween sera terminée

voici mon code :
Code
myTween= new Tween(mc_container.getChildAt(k), "x", None.easeInOut,700,0, 3, true);


Quelqu'un aurait-il une solution....

Merci beaucoup et bonne journée smile.gif


salut salut, c'est pas pour faire mon chieur (non non smile.gif) mais la réponse à ta question est dans l'aide (la touche F1 au cas ou tu ais un doute wink.gif) ...
zoam
La pieuvre,

J'ai bien lu le topic, il me semble, je voulais juste le faire avec la librairie caurina.

Tente avec le fla que j'ai joins.

...
la pieuvre
si je cite ce n'est pas pour rien wink.gif c'est pour répondre à la personne que je cite donc ma dernière réponse ne te concerne pas smile.gif

edit cliqué trop vite : je n'utilise pas ce moteur de tween donc je ne sais pas comment il fonctionne.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.