OBJECT DE TRANSFORMATION UTILISANT DES TRANSITIONS POUR PASSÉ D'UN ÉTAT À UN AUT

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007 - 20 avril 2005 à 23:54
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007 - 23 juin 2006 à 13:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30875-object-de-transformation-utilisant-des-transitions-pour-passe-d-un-etat-a-un-autre

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
23 juin 2006 à 13:37
Je me suis permis de rajouter une fonction à ta classe Transformation, elle reprend le principe de la fontion yoyo des tweens : faire le mouvement inverse.

/**
* Exécute la Transformation en sens inverse.
* */
public function yoyo (sym:Boolean)
:Void {
// Efface l'interval si celui-ci aurait déjà été créé.
clearInterval ( _nIntervalID ) ;
// Config publique.
var o:Object = _finals;
_finals = _starts;
_starts = o;
// Config privée.
if (sym) switch (_sType) {
case "custom" :
var f:Function = _fTransition;
_fTransition = function (t,b,c,d) {
return f(-t,b,c,d);
};
break;
case "backIn" :
_fTransition = Transition.backOut;
_sType = "backOut";
break
case "backOut" :
_fTransition = Transition.backIn;
_sType = "backIn";
break
case "bounceIn" :
_fTransition = Transition.bounceOut;
_sType = "bounceOut";
break
case "bounceOut" :
_fTransition = Transition.bounceIn;
_sType = "bounceIn";
break
case "elasticIn" :
_fTransition = Transition.elasticOut;
_sType = "elasticOut";
break
case "elasticOut" :
_fTransition = Transition.elasticIn;
_sType = "elasticIn";
break
case "expoIn" :
_fTransition = Transition.expoOut;
_sType = "expoOut";
break
case "expoOut" :
_fTransition = Transition.expoIn;
_sType = "expoIn";
break
}
_bPlaying = true ;
_nStartTime = getTimer() - _duration + _time;
_nIntervalID = setInterval ( this, "transform", _refreshRate ) ;
// Lancement.
transform () ;
broadcastMessage( "onStart", _starts ) ;
}
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
20 avril 2005 à 23:54
J'adore la capture, elle illustre bien la transphormation.

Ce nouvau package m'a l'air brillant, bien qu'il y ai beaucoups de code...

Je ne comprend pas encore très bien la mécanique de tes classes, mais ça devrai venir.

Juste une chose : je trouve que tu mets trop d'espaces dans las lignes de calcul, c'en est presque illisible.

Merci, c'est encore un travail de qualité que tu nous offre.
Rejoignez-nous