Problème de fondu AS avec attachMovie

cs_capelleg Messages postés 25 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 24 mai 2008 - 14 févr. 2006 à 22:02
cs_capelleg Messages postés 25 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 24 mai 2008 - 16 févr. 2006 à 21:56
Bonjour,
J'ai une série de bouton qui appelle chacun dun clip a charger dans un conteneur.

Pour faire des fondus entre les clip chargés, ma fonction doit faire s'occupe de gérer le fondu (100 à 0) en alpha puis charger le clip correspondant puis faire un nouveau fondu (0 à 100). J'ai bricolé ce code mais ca ne marche pas :-( C'est le "onEnterFrame" qui pose problème ?
Merci

on (release){
_root.gal_mini.onEnterFrame = function(){
this._alpha -= 5;
if (this._alpha <= 0){
this._alpha = 0;
delete this.onEnterFrame;

}
}
_root.gal_mini.attachMovie("gal_mini_1","gal_mini",1);
_root.showimage.onEnterFrame = function(){
this._alpha += 20;
if (this._alpha <= 0){
this._alpha = 100;
delete this.onEnterFrame;
}
}
}

6 réponses

atchoumdu51 Messages postés 194 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 16 juillet 2007 1
15 févr. 2006 à 00:29
Bonjour

Premierement tu avs a voir un probleme au niveau de 0=>100 car tu teste inférieur a 0...c'est supérieur a 100 (et prend pbien supérieur ou égal comme tu fait car flash arrondi a 100 quand c'est au dessus). Sinon essaye de voir l'emplacement de chaque clip, un des chemins n'est peut etre pas juste. Pour t'en rendre compte fait trace sur la propriété _alpha ou même _x . Pense que dans onEnterFrame le this correspond au clip sur lequel est défini onEnterFrame

Bon courage
0
cs_capelleg Messages postés 25 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 24 mai 2008
15 févr. 2006 à 05:31
Ok, apparement il m'éxécute tout le scripte et me fait le résultat c'est a dire un affichage à 100% des le départ, le code est interprété, et la valeur en botu de chaine est appliqué, ce n'est pas comme si chaque étape était visuellement acceptée :-(
0
atchoumdu51 Messages postés 194 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 16 juillet 2007 1
16 févr. 2006 à 12:04
heu affichage a 100% peut etre normal car tu incrémente de 20% a chaque frame...donc en 5 frames (bref très peut si tu es aux alentours de 20 frames/seconde)
0
cs_capelleg Messages postés 25 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 24 mai 2008
16 févr. 2006 à 20:00
Hello,
Je viens de faire un trace, ca vient pas de ca :-(

on (release){
_root.gal_mini.onEnterFrame = function(){
this._alpha -= 1;
if (this._alpha <= 0){
this._alpha = 0;
trace ("trace fonction 100>0");
delete this.onEnterFrame;


}
}
_root.gal_mini.attachMovie("gal_mini_1","gal_mini",1);
_root.gal_mini.onEnterFrame = function(){
this._alpha += 1;
if (this._alpha >= 0){
this._alpha = 100;
trace ("trace fonction 0>100");
delete this.onEnterFrame;

}
}
}

Apparement, il doit y avoir une incompatibilité avec les 2 fonction onEnterFrame:-( Si je retire la seconde fonction la seconde s'éxécute bien mais pas les deux ensemble. Quand il ya les deux, le trace me confirme uniquement de l'éxecution de la seconde.
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
atchoumdu51 Messages postés 194 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 16 juillet 2007 1
16 févr. 2006 à 21:29
arf oui j'avais pas fait gaffe que c'étais sur le même clip...la deuxieme écrase la seconde en effet. Dont il faudrait que tu fasses le attachmovie et la redéfiniyion de onEnterFrame dans if de la premiere, ainsi tu rédéfini une "nouvelle" fonction onEnterFrame. Mais attention a ne pas laisser le delete a la fin car sinon la fonction nouvellement crée sera aussitot effacée..
0
cs_capelleg Messages postés 25 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 24 mai 2008
16 févr. 2006 à 21:56
Merci,
Voici le code final qui marche pour ceux que ca intéresse :

on (release){
_root.gal_mini.onEnterFrame = function(){
this._alpha -= 10;
if (this._alpha <= 0){
this._alpha = 0;
trace ("trace fonction 100>0");
_root.gal_mini.attachMovie("gal_mini_2","gal_mini",1);_root.gal_mini.onEnterFrame = function(){
this._alpha += 10;
if (this._alpha >= 100){
this._alpha = 100;
trace ("trace fonction 0>100");
delete this.onEnterFrame;
}
}
}
}
}

Bon courages...
0
Rejoignez-nous