thenaoh
Messages postés111Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention24 juin 2015
-
21 janv. 2007 à 18:46
thenaoh
Messages postés111Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention24 juin 2015
-
21 janv. 2007 à 21:46
Bonjour à tous !
Après avoir lu quelques bouquins, je me suis lancé récemment dans la réalisation de mon 1er site web en flash.
Il se trouve que je suis confronté au problème suivant : Dans une classe qui contiens tous les éléments graphiques affichés à l'écran, je souhaite faire les 2 tâches suivantes :
- utiliser Tween pour faire disparaître progressivement le MovieClip masqueIntro_mc
- à la fin de cette animation, lancer une seconde méthode (lancerAnimZoneGauche).
Mon problème est que, bien que l'animation se déroule comme prévu, la méthode lancerAnimZoneGauche() n'est jamais appelée. Ainsi, le code ci-dessous n'affiche à l'écran que "animation fondu finie", mais pas "lancement de lancerAnimZoneGauche" ....
private function initAnimation():Void
{
// Fondu enchaîné :
var tweenMasqueIntro:Tween = new Tween(masqueIntro_mc, "_alpha", Regular.easeOut, 100, 0, 12, false);
var listenerMasqueIntro:Object = new Object ();
listenerMasqueIntro.onMotionFinished = function ():Void
{
lancerAnimZoneGauche();
trace ("animation fondu finie");
}
private function lancerAnimZoneGauche():Void
{
trace ("lancement de lancerAnimZoneGauche");
}
J'ai également essayé en remplaçant l'appel :
lancerAnimZoneGauche();
par :
monOccurence.lancerAnimZoneGauche();
où monOccurence stocke une instance de la classe où se trouvent ces méthodes, mais sans succès...
Si qqn a une idée, elle est la bienvenue ! Merci par avance pour votre aide
thenaoh
Messages postés111Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention24 juin 2015 21 janv. 2007 à 21:46
Bon ben en fait j'ai trouvé tout seul
Pour info, il faut remplacer l'appel :
lancerAnimZoneGauche();
par :
monOccurence.lancerAnimZoneGauche();
et rajouter en début de initAnimation() la ligne suivante :
var monOccurence:Scene = this;
où Scene est le nom de la classe en question.
Manifestement, ça marche mieux en déclarant monOccurence dans la méthode plutôt qu'en attribut de classe. Venant du monde java, ça me laisse dubitatif .... mais ça marche